iPhone听起来超过五秒钟

时间:2009-05-30 15:25:29

标签: iphone objective-c xcode

嘿大家好以下是我用来在iPhone模拟器上播放随机声音的代码。 30个左右的声音中的一些不会播放,经过一些调查我发现那些没有播放的声音超过了5秒钟。有人知道为什么吗?在此先感谢您的帮助!

NSString *path = [[NSBundle mainBundle] pathForResource:sound ofType:@"wav"];
SystemSoundID soundID;
AudioServicesCreateSystemSoundID((CFURLRef)[NSURL fileURLWithPath:path], &soundID);
AudioServicesPlaySystemSound (soundID);

2 个答案:

答案 0 :(得分:3)

我认为使用AudioServicesPlaySystemSound播放声音的时间限制为5秒(尽管文档的某些版本声称为30秒)。

替代方案是openAL和音频队列。这里有一个关于openAL的有用教程:http://benbritten.com/blog/2008/11/06/openal-sound-on-the-iphone/

答案 1 :(得分:2)

限制应仅在iPhone模拟器中,而不在设备上。在设备上,AudioServicesPlaySystemSound应播放长达30秒的声音。

我认为声音格式/压缩是导致'人工'5秒限制的原因。在终端上使用afconvert将声音转换为Apple建议的格式。