2009-05-30 4 views
3

Hey alle zusammen. Der folgende Code ist der Code, mit dem ich zufällige Sounds auf dem iPhone-Simulator wiedergeben kann. Einige der 30 Sounds werden nicht gespielt und nach einigen Nachforschungen fand ich heraus, dass diejenigen, die nicht spielten, länger als fünf Sekunden waren. Weiß jemand, warum das so ist? Vielen Dank im Voraus für Ihre Hilfe!länger als fünf Sekunden iphone klingt

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

Antwort

3

Ich glaube, es eine Grenze von 5 Sekunden (obwohl einige Versionen der Dokumentation Anspruch 30 Sekunden) für Ton gespielt wird AudioServicesPlaySystemSound verwenden.

Alternativen sind openAL und Audio Queues. Es gibt ein nützliches Tutorial zu openAL hier: http://benbritten.com/blog/2008/11/06/openal-sound-on-the-iphone/

2

Die Begrenzung sollte nur im iPhone Simulator sein, nicht auf dem Gerät. Auf dem Gerät sollte AudioServicesPlaySystemSound die Sounds bis zu 30 Sekunden abspielen.

Ich glaube, das Klangformat/Komprimierung ist, was die "künstliche" 5 Sekunden Grenze verursacht. Verwenden Sie afconvert im Terminal, um die Sounds in die von Apple vorgeschlagenen Formate zu konvertieren.

Verwandte Themen