2009-02-19 10 views
2

J'ai une liste de fichiers courts wav. Deux de ces fichiers ne sont pas lus sur le simulateur ou l'appareil lui-même. Tous sont des fichiers wav 1 seconde.iPhone - certains fichiers audio ne jouent pas

Voilà comment je joue les fichiers

SystemSoundID soundID; 
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"sound1" ofType:@"wav"]; 

NSURL *fileUrl = [NSURL fileURLWithPath:filePath]; 
AudioServicesCreateSystemSoundID((CFURLRef)fileUrl, &soundID); 
AudioServicesPlaySystemSound(soundID); 

Quelqu'un peut-il s'il vous plaît me dire ce que le problème pourrait être. Merci.

P.S. Lorsque je regarde les fichiers dans le Finder, les fichiers qui ne sont pas lus affichent le lecteur par défaut en tant que QuickTime et les autres affichent le lecteur par défaut en tant qu'iTunes si cela peut vous aider.

La solution proposée par Alan consiste à utiliser des fichiers AIFF. Pour convertir wav en AIFF, ouvrez le fichier son dans iTunes. Dans iTunes, sélectionnez Préférences-> Général-> Paramètres d'importation-> Importer à l'aide du codeur AIFF. Sélectionnez le fichier son et dans l'option de menu Avancé sélectionnez l'option « Création d'une version AIFF »

Répondre

1

Voir cette question Trying to play sound through iPhone Simulator

J'ai eu beaucoup plus de succès avec .AIFF.

Il serait bon de savoir ce que exactement AudioServicesCreateSystemSoundID vérifie quand un fichier lui est passé.

+0

Merci. Les fichiers AIF fonctionnent. Mais je ne comprends toujours pas pourquoi certaines wavs fonctionneraient et d'autres non. – lostInTransit

5

L'iPhone ne supporte que les codecs suivants:

  • AMR (Adaptive Multi-Rate, un codec vocal)
  • ILBC (Internet Low Bitrate Codec, également un codec vocal)
  • IMA/ADPCM (également connu sous le nom IMA-4)
  • PCM linéaire
  • μLaw et aLaw

Vos fichiers WAV peuvent contenir de l'audio dans un format différent, donc même si l'iPhone prend en charge les fichiers WAV, il pourrait ne pas supporter votre fichier WAV spécifique.

La meilleure option est normalement d'utiliser le programme de ligne de commande "afconvert" pour tout convertir en fichiers CAF (qui est le format par défaut d'Apple). .: par exemple

afconvert sound1.wav sound1.caf 

l'ensemble des options de conversion peuvent être répertoriés en exécutant:

afconvert -h 

Cette conversion sera sans perte de la plupart des formats. Le format de fichier CAF est normalement le surcoût le plus rapide et le plus bas à utiliser sur l'iPhone.

Questions connexes