• 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];

  • 相关阅读:
    Flex 与 Asp.Net 通过 Remoting 方式进行通讯 (三)
    Flex 与 Asp.Net 通过 Remoting 方式进行通讯 (四)
    操作Ini文件[摘抄]
    快速记忆五十音图 [转]
    最近比较烦
    话说中国足球
    如何有效的使用C#读取文件[转]
    关于男人的笑话[Joke About Man]
    体检
    [转]一个月赚5万美元国产共享软件开发者周奕
  • 原文地址:https://www.cnblogs.com/nelsen-chen/p/7206434.html
Copyright © 2020-2023  润新知