美文网首页
iOS 播放器静音设置方法(介绍:整理的两种设置播放器播放静音的

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

作者: 暗夜行者K | 来源:发表于2022-03-01 13:37 被阅读0次

一、MPVolumeView-设置音量值为0

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

volumeFloat =[selfgetVolume];-(float) getVolume

{

    //获取系统系统音量视图    MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame: CGRectMake(-1000, -100, 100, 100)];

    volumeView.hidden =NO;//不显示系统音量调节视图[selfaddSubview: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 = [MPVolumeViewnew];

    volumeView.hidden =YES;

}

二、AVAudioSession

1.静音

//关闭系统音量(静音)

-(void)closeSysVolume{

[[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryRecorderror:nil];

}

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

-(void)reStartSysVolume{

NSLog(@"重启音量");[[AVAudioSession sharedInstance]setCategory:AVAudioSessionCategoryAmbienterror:nil];

}

三、补充

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

//关闭音量(静音)

-(void)closeSysVolume{

NSLog(@"静音模式");self.player.playbackVolume= 0;

}

//重启音量

-(void)reStartSysVolume{

NSLog(@"重启音量");self.player.playbackVolume= 1;

}

参考来源 https://my.oschina.net/u/4317554/blog/4234549

相关文章

网友评论

      本文标题:iOS 播放器静音设置方法(介绍:整理的两种设置播放器播放静音的

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