2

我正在开发一款在标题序列期间使用 MPMoviePlayerController 在后台播放视频的游戏。我将我的游戏控件覆盖在上面(只有几个带纹理的 UIButton)。

视频本身没有音频,但是当我通过 OpenAL 按下按钮时,我正在播放声音。音频会话设置为“环境”,只要 MPMoviePlayerController 不在,它就会正确响应设备的静音按钮和音量。但是一旦视频开始播放,它就会发出声音,而不考虑静音或音量设置。

谁能帮我?MPMoviePlayerController 是否干扰了 AudioSession 状态?有没有办法阻止这种情况发生。我的电影没有声音,所以它不应该这样做。

4

1 回答 1

2

MPMoviePlayerController 使用 AVAudioPlayer 共享实例。所以你可以从字面上设置 MPMoviePlayerController 的音量,它会关闭你的背景音乐。但是,更好的方法是告诉 MPMoviePlayerController 不要使用共享实例。

NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"intro" ofType:@"m4v"]];
self.player = [[MPMoviePlayerController alloc] initWithContentURL:url];
self.player.movieSourceType = MPMovieSourceTypeFile;
**[self.player setUseApplicationAudioSession:FALSE];**
于 2012-03-29T00:49:24.623 回答