我对我的应用中的声音有疑问。我需要用户能够将来 self 的游戏的所有声音静音,例如,如果他们只想在玩游戏时听 iPod。这里有类似的问题Disable all program sounds但似乎没有答案。目前,我将 AVAudioSession 设置为 AVAudioSessionCategoryAmbient,它允许 ipod 播放,但也允许我的应用程序播放游戏声音。实现我的目标的最好方法是在单击静音按钮时设置一个 bool 值并在每次播放声音时检查它吗?这看起来有点尴尬,尽管它会起作用……请问有什么想法吗?
非常感谢
朱尔斯
最佳答案
如果游戏开始时 iPod 正在播放,您可以自动静音。
例如,
UInt32 userPlayback;
UInt32 propertySize = sizeof(userPlayback);
AudioSessionGetProperty(
kAudioSessionProperty_OtherAudioIsPlaying,
&propertySize, &userPlayback);
BOOL userMusicPlaying = (userPlayback != 0);
然后如果 userMusicPlaying 为 YES,则不要播放声音。 (还可以考虑添加一个开关,让 即使在播放 iPod 时也能播放声音。)否则,我认为如果您或用户不禁用声音,就没有办法禁用它们。
https://stackoverflow.com/questions/3441504/
相关文章:
maven-2 - 使用 JMeter + Maven 和 https 协议(protocol)
django - 有没有办法修改 Django FileField 使用的存储后端?
.htaccess - 多语言站点,基于 cookie 或接受语言的重定向 (RewriteRule
android - 连接到另一台机器上的 Android 模拟器
unit-testing - 安排 Jmeter 分布式测试
excel - 如何使用 Excel 公式(无 VBA)在 HTTP POST 响应中检索一段数据?