iOS:静音模式下无法播放我的声音

Posted

技术标签:

【中文标题】iOS:静音模式下无法播放我的声音【英文标题】:iOS: Unable to play my sounds when silent mode on 【发布时间】:2012-05-24 17:36:09 【问题描述】:

所以我已经完成了我能找到的关于 SO 的大部分相关问题,但我仍然无法在静音时播放音频。我相信这可能是我犯的一个小错误。

我正在尝试播放一个小的警报声。这是我的viewDidLoad 方法中的代码:

AudiosessionInitialize (NULL, NULL, NULL, NULL);
AudioSessionSetActive(true);

这是我需要播放音频剪辑时调用的方法

-(void)playAudioClip:(CFStringRef)clip

CFBundleRef mainBundle = CFBundleGetMainBundle();
CFURLRef soundFile = CFBundleCopyResourceURL(mainBundle, clip, CFSTR("wav"), NULL);

//Supposed to make sound playable even when silent right?
UInt32 soundType = kAudioSessionCategory_MediaPlayback; 
UInt32 soundID;

AudioSessionSetProperty(kAudioSessionProperty_AudioCategory, sizeof(soundType), &soundType);
AudioServicesCreateSystemSoundID(soundFile, &soundID);
AudioServicesPlaySystmSound(soundID);

我从 SO 中得到了大部分内容,并在 Apple 编程指南中确认了这一点。我已经尝试将Uint32 用于两种用途,但这也没有做任何事情,在锁定/静音模式下仍然无法播放。有什么想法吗?

【问题讨论】:

静音模式是为了静音... 阅读有关AudioServicesPlaySystemSound的文档 @Joe 我已经读过了,但我不完全确定我应该从中得到什么。 @RobCaraway 它不是为你想要做的事情而设计的,它更多的是用于当短信或电子邮件进来时发出警报。当静音开关打开时,那些也不会被播放.它(模糊地)记录在这一行Sounds play at the current system audio volume, with no programmatic volume control available 【参考方案1】:

在静音模式下不播放系统声音。 (顾名思义)如果您需要在静音时播放音频,您需要使用不同的方法,如媒体播放器或其他音频方法。查看 Apple 播放音乐的示例。

【讨论】:

以上是关于iOS:静音模式下无法播放我的声音的主要内容,如果未能解决你的问题,请参考以下文章

iOS - 无法在后台播放声音

iPhone静音时如何播放声音?

应用程序处于后台且静音模式开启时需要播放声音

即使在静音模式下也能在 iPhone 上播放声音 [重复]

iphone,即使在静音或静音模式下如何播放声音?

静音模式下的 UILocalNotification 声音