ios - MPMoviePlayerController 不响应设备音量控制

标签 ios audio mpmovieplayercontroller openal audiosession

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

视频本身没有音频,但当我通过 OpenAL 按下按钮时会播放声音。 Audio Session 设置为“环境”,只要 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];**

关于ios - MPMoviePlayerController 不响应设备音量控制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9193289/

相关文章:

ios - UIDevice 方向和 UIInterface 方向有什么区别?

javascript生成方波声音

ios - MPMoviePlayerViewController 从 NSData (MP4) 播放

ios - MPMoviePlayerController 显示黑屏

iphone - 在 iPhone 4 中使用 UIViewController MediaPlayer 添加

iOS:将 subview 添加到第二高位置

ios - iPad 上操作表的背景颜色

ios - 抛出异常观察 NSManagedObjectContext 保存

audio - 哪个微 Controller 可实现快速高质量音频切换和播放

iphone - iPhone游戏中的音效