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);
添加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);
相关文章推荐
- iOS 监听App音量的变化
- ios监听app音量的变化
- iOS 监听App音量的变化(转)
- iOS开发之音乐播放----监听系统音量变化
- iOS 使用AFNetWorking监听APP网络状态变化(可用于更改缓存策略、提示网络等)
- iOS 使用AFNetWorking监听APP网络状态变化(可用于更改缓存策略、提示网络等)
- iOS 监听App音量的变更
- iOS 监听耳机变化
- swift 获取系统音量||监听系统音量变化
- arcgis for ios 如何监听地图滑动开始,变化,结束
- 【iOS】KVO方式监听数组的变化动态刷新tableView
- ios监听静音键和音量键事件
- ios 通知监听App进入后台,然后再进入App(获取验证码的时间间隔)
- iOS监听音量调节
- iOS APP利用系统自带库监听网络状态
- iOS 实时监听UITableViewCell中的UItextField的值的变化
- iOS-监听iPhone本地联系人的变化
- iOS文档浏览与文件夹的状态变化的监听
- iOS开发中实时监听app的网络连接状态问题
- iOS开发之监听键盘高度的变化