iOS 监听和设置系统音量

一:监听系统音量

1:添加 #import <AVFoundation/AVFoundation.h>

 

2:在 - (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];

 

3:在需要添加监听的地方监听音量

[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(volumeChanged:) name:@"AVSystemController_SystemVolumeDidChangeNotification" object:nil];

 

//系统声音改变

-(void)volumeChanged:(NSNotification *)notification

{

    float volume = [[[notification userInfo] objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"] floatValue];

    NSLog(@"FlyElephant-系统音量:%f", volume);

}

 二:设置系统音量

 

#import <MediaPlayer/MediaPlayer.h>

 

 //初步同步系统的音量跟耳机初步音量达成一致

        MPVolumeView *volumeView = [MPVolumeView new];

        volumeView.showsRouteButton = NO;

        volumeView.showsVolumeSlider = NO;

        [self.view addSubview:volumeView];

 

       // __weak __typeof(self)weakSelf = self;

        [[volumeView subviews] enumerateObjectsUsingBlock:^(id obj, NSUInteger idx, BOOL *stop) {

            if ([obj isKindOfClass:[UISlider class]]) {

                //__strong __typeof(weakSelf)strongSelf = weakSelf;

                volumeViewSlider = obj;//UISlider* volumeViewSlider;

                *stop = YES;

            }

        }];

        [volumeViewSlider setValue:volumeF animated:YES];

 

转载于:https://www.cnblogs.com/nelsen-chen/p/7206434.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值