美文网首页
iOS自定义音量显示控件

iOS自定义音量显示控件

作者: 木语先生 | 来源:发表于2017-11-18 18:04 被阅读575次
    需求分析:

    观看视频时,点击音量按键,屏蔽系统音量弹窗,显示自定义的音量控件,提高应用观看体验

    步骤:

    1.创建MPVolumeView

        MPVolumeView *volumeView = [[MPVolumeView alloc]initWithFrame:CGRectMake(-100, -100, 10, 10)];
        [self.view addSubview:volumeView];
    

    2.设置AVAudioSession

    AVAudioSession *audioSession = [AVAudioSession sharedInstance];
    
        NSError *error = nil;
        if (audioSession.otherAudioPlaying) {
    
            //有其他音乐在后台进行播放时,显示系统控件
            [audioSession setActive:NO error:&error];
    
        } else {
    
            //自己的应用会走这一步
            [audioSession setActive:YES error:&error];
    
        }
    

    3.监听音量的改变

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

    4.根据音量改变,自定义音量显示UI

    - (void)volumeChanged:(NSNotification *)notification
    {
        
        float volume =
        [[[notification userInfo]
          objectForKey:@"AVSystemController_AudioVolumeNotificationParameter"]
         floatValue];
        
        NSLog(@"当前的音量 = %f", volume);
        
    }
    

    相关文章

      网友评论

          本文标题:iOS自定义音量显示控件

          本文链接:https://www.haomeiwen.com/subject/xuxyvxtx.html