AudioServicesPlaysystemsound无法在iPad设备上工作
-
26-09-2019 - |
题
我正处于开发第一个iPad应用程序的早期阶段,为简单起见,到目前为止,我一直在使用AudioServicesPlaysystemsound和关联的功能来播放声音。我的代码基于Apple的节拍器示例中的声音效应类。
具体的症状是,我可以听到模拟器中的声音,但不能在设备上听到声音,尽管我已经确认我可以在设备上的其他应用中听到声音。 AudioServicesCreatesystemsoundID正在返回有效的声音标识符,因此它不像具有不同情况的声音文件的名称那样简单,即“ sound.mp3” vs.“ sound.mp3”。
我认识到,由于无关的原因,我可能需要切换到其他库,例如开放式库,但我想知道这里发生了什么。有没有人有什么建议?我可以调用一个函数以获取OSSTATUS值或其他功能吗?
* Bump-过去几周我一直在研究其他项目,但我现在又回到了这一点,我非常感谢答案。谢谢。
解决方案
我认为您无法使用 AudioServicesPlaySystemSound
. 。看一下 文档 用于支持的文件类型。我不确定他们为什么在模拟器中正确播放,但是我也遇到了同样的问题。尝试使用Avaudioplayer:
NSError *error;
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[[NSBundle mainBundle] URLForResource: @"sound" withExtension: @"mp3"] error:&error];
if (error) {
NSLog(@"Error creating audio player: %@", [error userInfo]);
} else {
[audioPlayer play];
}
[audioPlayer release];
其他提示
我通过Google搜索遇到了这个问题。我的问题完全如这个问题的标题所述:“ AudioServicesPlaysystemsound无法在iPad设备上使用”。但是,对问题的描述是不同的。
简而言之,将iPad升级到iOS 4.3后,AudioServicesPlaysystemsound停止工作。
我终于找到了我的问题版本的解决方案,因此希望这对其他人有帮助。
转到iPad上的设置应用程序,然后选择“ General”。点击声音。确保设置为“使用按钮更改”。这将解决问题。