1.获取到当前系统音量值(恢复音量时有用)
volumeFloat =[selfgetVolume]-(float) getVolume
{
//获取系统系统音量视图 MPVolumeView *volumeView = [[MPVolumeView alloc] initWithFrame: CGRectMake(-1000, -100, 100, 100)]
volumeView.hidden =NO//不显示系统音量调节视图[selfaddSubview:volumeView] volumeViewSlider=nilfor(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
vivo手机设置静音模式的方法:手机侧面有静音按键:
向下拨动手机左侧的物理静音键可在所有场合一键静音,关闭铃声、通知音量,媒体音和闹钟仍保留;可进入设置--声音、振动与静音键--静音模式--选择“全局静音”, *** 作后媒体也会跟随静音;
手机左侧上方无静音按键:
1、屏幕顶部下滑/底部上滑打开控制中心,点击“静音模式”图标开启;
2、进入设置--声音与振动/声音--开启静音模式;
3、进入设置--声音与振动/声音--音量键调整--选择“铃声”后,按音量减键至进入静音模式。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)