zoukankan      html  css  js  c++  java
  • iOS 播放器静音设置方法

    介绍:整理的两种设置播放器播放静音的方法

    一、MPVolumeView-设置音量值为0

    1.获取到当前系统音量值(恢复音量时有用)

    volumeFloat = [self getVolume];
    
    -(float) getVolume
    {
        //获取系统系统音量视图
        MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame: CGRectMake(-1000, -100, 100, 100)];
        volumeView.hidden = NO;//不显示系统音量调节视图
        [self addSubview:volumeView];
        volumeViewSlider = nil;
        for(UIView *view in [volumeView subviews])
        {
            if([[[view class] description] isEqualToString:@"MPVolumeSlider"])
            {
                volumeViewSlider=(UISlider *)view;
                break;
            }
        }
        float val = [volumeViewSlider value];
        return val;
    }

    2.关闭系统音量(设置音量值为0)

    //关闭系统音量(静音)
    -(void)closeSysVolume
    {
        [volumeViewSlider setValue:0 animated:NO];
    }

    3.恢复原来的音量

    -(void)reStartSysVolume
    {
        NSLog(@"重启音量");
    
        if (volumeFloat == 0) {
            volumeFloat = 0.5;
        }
        [volumeViewSlider setValue:volumeFloat animated:NO];
        //注:设置恢复后不会影响系统音量图标的正常显示
        MPVolumeView *volumeView = [MPVolumeView new];
        volumeView.hidden = YES;
    }

    二、AVAudioSession

    1.静音

    //关闭系统音量(静音)
    -(void)closeSysVolume
    {
        [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryRecord error:nil];
    }

    2.重新开启音量(注:调用closeSysVolume后使用该方法无效--还没找到恢复音量方法)

    -(void)reStartSysVolume
    {
        NSLog(@"重启音量");
        [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryAmbient error:nil];
    }

    三、补充

    如果不想通过设置系统方式静音,可以更简单的使用播放器自带的音量属性实现静音(推荐这种方式,而不是使用修改系统方式)。例如ijkplayer的playbackVolume属性:

    //关闭音量(静音)
    -(void)closeSysVolume{
        NSLog(@"静音模式");
        self.player.playbackVolume = 0;
    }
    //重启音量
    -(void)reStartSysVolume{
        NSLog(@"重启音量");
        self.player.playbackVolume = 1;
    }
  • 相关阅读:
    高并发 内核优化
    mysql 读写分离
    Jmeter使用入门
    Jenkins+Jmeter+Ant接口持续集成
    Android客户端稳定性测试——Monkey
    SVN客户端项目递归删除.svn目录
    Windows 下 php5+apache+mysql5 手工搭建笔记
    熟悉常用的Linux操作
    C语言文法
    词法分析实验报告
  • 原文地址:https://www.cnblogs.com/wusang/p/8438224.html
Copyright © 2011-2022 走看看