iphone - 在应用程序声音中禁用

我对我的应用中的声音有疑问。我需要用户能够将来 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 使用的存储后端?

.net - 是否有将图像重新抗锯齿为不同背景颜色的技术?

.htaccess - 多语言站点,基于 cookie 或接受语言的重定向 (RewriteRule

android - 连接到另一台机器上的 Android 模拟器

unit-testing - 安排 Jmeter 分布式测试

excel - 如何使用 Excel 公式(无 VBA)在 HTTP POST 响应中检索一段数据?

.net - 高性能文件操作和 I/O 完成线程

visual-studio - 如何创建支持多实例(多次安装)的安装工程?

logging - Jmeter 虽然在本地工作,但在其他环境中不起作用