2010-11-23 43 views
3

J'ai un son qui est joué en boucle car un bruit est enregistré en utilisant un AVAudioRecorder.AVAudioPlayer très silencieux sur l'iPhone mais assez fort sur l'iPod touch

Voici mon code:

NSString *pathToFile = [[NSBundle mainBundle] pathForResource:@"foghornRepeat2" ofType:@"aif"]; 
     foghornRepeat =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:pathToFile] error:nil]; 
     //foghornRepeat.delegate = self; 
     [foghornRepeat prepareToPlay]; 

     foghornRepeat.numberOfLoops = -1; 
     [foghornRepeat setVolume:1]; 

Il est alors joué et arrêté lorsque le son est enregistré par le microphone. Une idée de pourquoi ce serait vraiment calme sur un iphone? C'est bien sur mon iPod.

Y at-il un autre moyen de le faire?

Merci Tom

Répondre

4

Ce qui est probablement arrivé est que l'audio sur votre iphone réacheminée vers les haut-parleurs du téléphone. Pour vous assurer que le son est lu par les enceintes réelles, utilisez le code suivant avant de jouer un effet sonore:

UInt32 audioRouteOverride = kAudioSessionOverrideAudioRoute_Speaker; 
AudioSessionSetProperty (kAudioSessionProperty_OverrideAudioRoute,sizeof (audioRouteOverride),&audioRouteOverride); 
+0

c'est génial merci. –