gpt4 book ai didi

ios SystemSound 不会响应音量按钮

转载 作者:行者123 更新时间:2023-12-01 19:09:41 26 4
gpt4 key购买 nike

我在我的应用程序中使用了 SystemSound 来播放简单的音效。除此之外,我通过 MPMoviePlayerController 播放音乐视频 - 现在,当我将音量调高/调低时,视频中的音乐会按预期响应(调高/调低音量)。

但是播放的系统声音不响应音量。当用户点击应用程序中的某些区域时,我会播放系统声音。这是我的代码片段:

- (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(即使通过像 FinchCocosDenshion 这样的第三方声音库)

有任何想法吗?

最佳答案

使用 AVAudioPlayer用于播放由用户音量设置控制的声音(非系统声音)的类。

您可以保留 AVAudioPlayer 的实例对于您经常使用的每个声音文件,只需调用 play方法。使用prepareToPlay预加载缓冲区。

关于ios SystemSound 不会响应音量按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17212853/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com