標籤:script close add sel rect make isl yam value
介紹:整理的兩種設定播放器播放靜音的方法
一、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];}
iOS 播放器靜音設定方法