您的位置:首页 > 移动开发

iOS 监听App音量的变化2(转)

2013-03-16 14:09 489 查看
方法一:
添加AudioToolbox.framework
Appdelegate.m中,添加头文件#include
在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中添加

AudioSessionInitialize(NULL, NULL, NULL, NULL);

AudioSessionSetActive(true);

AudioSessionAddPropertyListener(kAudioSessionProperty_CurrentHardwareOutputVolume ,

volumeListenerCallback,

(__bridge void *)(self)

);

外加回调函数

void volumeListenerCallback (

void *inClientData,

AudioSessionPropertyID inID,

UInt32 inDataSize,

const void *inData

){

const float *volumePointer = inData;

float volume = *volumePointer;

NSLog(@"volumeListenerCallback %f", volume);

}

搞定。

方法二:较为简单实用

添加MediaPlayer.framework

[[NSNotificationCenter defaultCenter] addObserver:self

selector:@selector(volumeChanged:)

name:@"AVSystemController_SystemVolumeDidChangeNotification"

object:nil];

-(void)volumeChanged:(NSNotification *)noti

{

float volume =

[[[noti userInfo]

objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]

floatValue];

NSLog(@"volumn is %f", volume);

}

方法三:获取当前的volume

float volume = 0.0;

UInt32 dataSize = sizeof(float);

OSStatus status = AudioSessionGetProperty (kAudioSessionProperty_CurrentHardwareOutputVolume,

&dataSize,

&volume);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: