zoukankan      html  css  js  c++  java
  • 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];

  • 相关阅读:
    微信网页授权功能来获取用户信息(昵称或头像)之php实现
    你人生的那口井挖好了吗?
    java项目打jar包
    Oracle 客户端配置笔记
    资源管理右键卡住的问题
    Java Web 项目学习(二) 开发注册功能
    Java Web 项目学习(三) 过滤敏感词 前缀树 反射 类加载
    Java Web 项目学习(二) 检查登录状态
    Java Web 项目学习(二)账号设置
    Java Web 项目学习(二) 显示登录信息
  • 原文地址:https://www.cnblogs.com/nelsen-chen/p/7206434.html
Copyright © 2011-2022 走看看