2009-05-30 5 views
3

Salut tout le monde. Ce qui suit est le code que j'utilise pour jouer des sons aléatoires sur le simulateur de l'iPhone. Certains des 30 sons ou plus ne joueront pas et après quelques recherches, j'ai découvert que ceux qui ne jouaient pas duraient plus de cinq secondes. Est-ce que quelqu'un sait pourquoi c'est comme ça? Merci d'avance pour votre aide!plus de cinq secondes l'iphone sonne

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

Répondre

3

Je crois qu'il ya une limite de 5 secondes (bien que certaines versions de la demande de documentation 30 secondes) pour le son en cours de lecture à l'aide AudioServicesPlaySystemSound. Les alternatives sont openAL, et les files d'attente audio.

Il ya un tutoriel utile sur openAL ici: http://benbritten.com/blog/2008/11/06/openal-sound-on-the-iphone/

2

La limitation devrait être seulement dans le simulateur de l'iPhone, pas sur l'appareil. Sur l'appareil, AudioServicesPlaySystemSound doit lire les sons jusqu'à 30 secondes. Je crois que le format sonore/compression est ce qui provoque la limite de 5 secondes «artificielle». Utilisez afconvert sur le terminal pour convertir les sons aux formats suggérés par Apple.

Questions connexes