我正在开发一款游戏,该游戏在标题序列中使用MPMoviePlayerController在后台播放视频。我将我的游戏控件覆盖在上面(只有几个纹理UI按钮)。
视频本身没有音频,但当我通过OpenAL按下按钮时,我会播放声音。音频会话设置为"环境",只要MPMoviePlayerController不在,它就会正确响应设备的静音按钮和音量。但视频一开始播放,就会发出刺耳的声音,而不考虑静音或音量设置。
有人能帮我吗?MPMoviePlayerController是否干扰AudioSession状态?有没有办法阻止这种情况的发生。我的电影里没有声音,所以不应该那样做。
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];**