iOS 靜音模式下播放視頻、音樂和控制音量大小

1、允許靜音模式下播放聲音

[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil];?

[[AVAudioSession sharedInstance] setActive:YES error:nil];

- (void)dealloc { ? ?

????????[[UIApplication sharedApplication] endReceivingRemoteControlEvents];?

} }

2、實現(xiàn)聲音控制

@property (nonatomic, strong)MPVolumeView *volumeView;

@property (nonatomic, strong)UISlider *volumeSlider;

[[AVAudioSession sharedInstance]outputVolume]; ?? ? ? ?

MPMusicPlayerController *musicPlayer = [MPMusicPlayerController applicationMusicPlayer]; ? ?

if (([musicPlayer respondsToSelector:@selector(setVolume:)]) && [[[UIDevice currentDevice] systemVersion] floatValue] >= 13.0) { ? ? ? ?

//消除警告

#pragma clang diagnostic push

#pragma clang diagnostic ignored "-Wdeprecated-declarations" ? ? ? ?

????if ([self getVolume] == 0) {

? ? ? ? ? ? [musicPlayer setVolume:0.5];? ? ? ??

????????}

#pragma clang diagnostic pop? ?

}else { ? ? ? ?

// 低版本按照正常的設置依然不能控制音量? 故使用了MPMusicPlayerController ? ? ? ?

if ([self getVolume] == 0) {

? ? ? ? ? ?[musicPlayer setVolume:0.5]; ? ? ? ?

????} ? ?

}

- (MPVolumeView *)volumeView {

? ? if (!_volumeView) {

? ? ? ? _volumeView = [[MPVolumeView alloc] initWithFrame:CGRectZero];

? ? ? ? // 將x、y設置成 -100 就會將音量界面隱藏

? ? ? ? // 下面兩行代碼都會使音量界面重新顯示

?? ? ? ? [_volumeView setHidden:YES];

?? ? ? ? [_volumeView removeFromSuperview];

? ? ? ? [self.view addSubview:_volumeView];

? ? }

? ? return _volumeView;

}

- (UISlider*)volumeSlider {

? ? UISlider* volumeSlider =nil;

? ? for(UIView*view in[self.volumeView subviews]) {

? ? ? ? if ([view.class.description isEqualToString:@"MPVolumeSlider"]){

? ? ? ? ? ? volumeSlider = (UISlider*)view;

? ? ? ? ? ? break;

? ? ? ? }

? ? }

? ? return volumeSlider;

}

- (float)getVolume {

? ? return self.volumeSlider.value > 0 ? self.volumeSlider.value : [[AVAudioSession sharedInstance] outputVolume];

}

這樣? 簡單的靜音模式下播放聲音就實現(xiàn)了? ?內容可根據(jù)自身情況進行更改。demo地址

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容