AudioServicesPlaySystemSound不适用于iPad设备
我正处于开发我的第一个iPad应用程序的初期阶段,为了简单起见,我至今一直使用AudioServicesPlaySystemSound和相关函数播放声音。我的代码基于Apple节拍器示例中的SoundEffect类。AudioServicesPlaySystemSound不适用于iPad设备
具体症状是我可以在模拟器中听到声音,但听不到设备上,尽管我已经验证可以在设备上的其他应用程序中听到声音。 AudioServicesCreateSystemSoundID返回有效的声音标识符,因此它不像声音文件的名称具有不同的大小写,即“sound.mp3”与“Sound.mp3”一样简单。
我知道我可能需要切换到不同的库,如OpenAL,因为不相关的原因,但我想知道这里发生了什么。有没有人有什么建议?有没有我可以调用的函数来获得OSStatus值?
* BUMP - 我一直工作在其他项目上,在过去几个星期,但现在我回到这一点,我会很感激的答案。谢谢。
我不认为你可以在设备上使用AudioServicesPlaySystemSound
播放mp3文件。请查看documentation以了解支持的文件类型。我不确定他们为什么在模拟器中正常播放,但我遇到了同样的问题。尝试使用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上的设置应用程序,然后选择常规。点按声音。确保“按钮更改”设置为ON。这将解决这个问题。
我正在运行iOS 4.3.1,在General-> Sounds中没有“Change with Buttons”选项。 – iPadDeveloper2011 2011-04-24 14:53:20
这件事发生了一段时间,但我认为它可能只适用于iPad 2.它们也可能改变了4.3.1中的行为 - 此响应适用于4.3。 – 2011-04-24 20:58:43
我用iTunes将我的.m4v声音改为.aif,这是一种“支持”编码。这工作。 – iPadDeveloper2011 2011-04-25 05:44:42