2010-12-14 73 views
0

Je suis en train de développer un programme qui lit un court échantillon quand on appuie sur un bouton. Le problème est qu'il ne joue que par la sortie des écouteurs et non par le haut-parleur de l'appareil. J'ai essayé .wav et .aiff et AVAudioPlayer et SystemSoundID. Sur le simulateur, je peux entendre le son. J'utilise iPod Touch 4ème génération. en cours d'exécution iOS 4.1. Exemple de code:Les échantillons audio iOS ne sont lus que par la sortie des écouteurs.

NSString *soundFile = [[NSBundle mainBundle] pathForResource:@"button" ofType:@"wav"]; 
NSURL *url = [NSURL fileURLWithPath:soundFile]; 
AudioServicesCreateSystemSoundID((CFURLRef)url, &buttonID); 
AudioServicesPlaySystemSound(buttonID); 

Édition (solution trouvée): J'ai essayé avec un autre fichier .wav et cela a fonctionné. Bizarre, parce que le format original du .wav est supporté par iOS.

Répondre

0

On dirait que vous avez résolu le problème, mais en guise de mise au point, vous ne devriez utiliser la lecture de style SystemSoundID que pour les sons liés à l'interface utilisateur. Si l'audio est un élément clé de votre application, vous devez définir la catégorie AVAudioSession appropriée et utiliser (par exemple) les méthodes de lecture AVAudioPlayer.

Là encore, cela pourrait ne pas être pertinent. :-)