MPMoviePlayerController取消静音AVAudioPlayer中的硬件静音

时间:2013-11-14 09:40:36

标签: ios iphone objective-c mpmovieplayercontroller avaudioplayer

我通过切换振动/声音硬件按钮将手机设置为静音状态。在整个应用程序中,除非设备处于静音状态,否则会播放一些背景音乐。所以在这种情况下,我的音乐正在播放但是静音。现在在某些时候我想要呈现视频(没有声音,但这无关紧要),但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];

1 个答案:

答案 0 :(得分:0)

要解决此问题,我必须重写代码,但不是使用MPMoviePlayerController我使用了AVPlayer。现在一切都像魅力一样。