我通过切换振动/声音硬件按钮将手机设置为静音状态。在整个应用程序中,除非设备处于静音状态,否则正在播放一些背景音乐。所以在这种情况下,我的音乐正在播放但静音。现在在某些时候我想展示视频(没有声音,但这不重要),但是即使设备处于“静音”状态,MPMoviePlayerController 中的视频也会打开来自 AVAudioPlayer 的音乐。即使我退出 MPMoviePlayerController,AVAudioPlayer 也会继续大声播放。
一些代码示例,但我怀疑它会有所帮助:
// movie without sound
[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategorySoloAmbient error:nil];
NSURL *movieURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"myVideo" ofType:@"mp4"]];
_moviePlayerController = [[MPMoviePlayerController alloc] initWithContentURL:movieURL];
[_scrollView addSubview:_moviePlayerController.view];
[_moviePlayerController prepareToPlay];
[_moviePlayerController play];
// music
_audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:url error:&error];
[_audioPlayer prepareToPlay];
[_audioPlayer play];