iOS技术交流收藏藤原とうふ店(自家用)

iOS监听系统音量变化

2019-01-24  本文已影响30人  倪大头

appdelegate中加入如下代码:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //监听系统音量变化
    AVAudioSession *session = [AVAudioSession sharedInstance];
    [session setCategory:AVAudioSessionCategoryAmbient error:nil];
    [session setActive:YES error:nil];
    NSError *error;
    [[AVAudioSession sharedInstance] setActive:YES error:&error];
    //iOS9以上加上这句
    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
}

然后在需要的页面加入监听:

//监听系统音量
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChangeNotification:)name:@"AVSystemController_SystemVolumeDidChangeNotification" object:nil];

回调:

//系统音量回调
- (void)volumeChangeNotification:(NSNotification *)noti {
    float volume = [[[noti userInfo] objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"] floatValue];
    NSLog(@"系统音量:%f", volume);
}
上一篇下一篇

猜你喜欢

热点阅读