2009-05-30 18 views
3

皆さん。以下は、iPhoneシミュレータでランダムなサウンドを再生するために使用しているコードです。 30音程度の音の一部は演奏されず、調査した後、演奏していない音が5秒以上であることがわかりました。誰がなぜこれが分かっていますか?あなたの助けを前もってありがとう!5秒以上iphoneの音

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

答えて

3

I音がAudioServicesPlaySystemSoundを使用して再生されるために(ドキュメントのいくつかのバージョンが30秒を主張が)5秒の限界があると考えています。

代替は、openALとオーディオキューです。ここにopenALに関する便利なチュートリアルがあります:http://benbritten.com/blog/2008/11/06/openal-sound-on-the-iphone/

2

この制限は、デバイスではなく、iPhone Simulatorでのみ行う必要があります。デバイス上では、AudioServicesPlaySystemSoundは最大30秒のサウンドを再生する必要があります。

私はサウンドフォーマット/圧縮が「人為的」5秒の制限を引き起こす原因だと思います。ターミナルでafconvertを使用して、サウンドをアップルの推奨フォーマットに変換します。

関連する問題