我正处于开发第一个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”。点击声音。确保设置为“使用按钮更改”。这将解决问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top