【发布时间】:2013-06-20 11:48:15
【问题描述】:
我在我的应用中使用了 SystemSound 来播放简单的音效。除此之外,我通过 MPMoviePlayerController 播放音乐视频 - 现在,当我调高/调低音量时,视频中的音乐会按预期响应(调高/调低音量)。
但播放的系统声音不响应音量。当用户点击应用程序中的某些区域时,我会播放系统声音。这是我的代码的 sn-p:
- (void)handleTap:(UITapGestureRecognizer *)recognizer {
SystemSoundID completeSound = nil;
//yellow folder in xcode doesnt need subdirectory param
//blue folder (true folder) will need to use subdirectory:@"dirname"
NSURL *sound_path = [[NSBundle mainBundle] URLForResource: target_sound_filename withExtension: @"wav"];
AudioServicesCreateSystemSoundID((__bridge CFURLRef)sound_path, &completeSound);
AudioServicesPlaySystemSound(completeSound);
}
PS。我仔细检查了我的“设置->声音->铃声和警报->使用按钮更改”是否设置为打开(正如我在其他一些 SO 答案中看到的那样,关闭此选项会导致系统声音不响应音量按钮)
使用 systemsound 的另一个原因是它在播放多种声音时(例如在游戏中)提供了最准确和响应最灵敏的结果。
如果可能的话,我宁愿不使用 OpenAL(即使通过像 Finch 或 CocosDenshion 这样的第三方声音库)
有什么想法吗?
【问题讨论】:
标签: ios mpmovieplayercontroller