我对我的应用中的声音有疑问。我需要用户能够将来 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 时也能播放声音。)否则,我认为如果您或用户不禁用声音,就没有办法禁用它们。
关于iphone - 在应用程序声音中禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3441504/