2015-10-16 1 views
-1

J'ai une application iOS 9 et j'ai implémenté le AVPlayerViewController dans l'un de mes contrôleurs de vue. J'essaie de jouer une vidéo. Un problème que j'ai remarqué est que si je branche les écouteurs, le son joue bien dans les écouteurs. Mais si je débranche le casque, le son sera diffusé par le petit écouteur en haut de l'iPhone et non par le haut-parleur principal. Comment puis-je changer cela? Voici mon code:Impossible de lire l'audio vidéo via les haut-parleurs - iOS

// Setup the video player view. 
AVPlayerViewController *playerViewController = [[AVPlayerViewController alloc] init]; 
playerViewController.player = [AVPlayer playerWithURL:pass_URL]; 
self.player_view = playerViewController; 
self.player_view.view.frame = self.view.frame; 
[self.view addSubview:playerViewController.view]; 
self.view.autoresizesSubviews = TRUE; 
[self.player_view.player play]; 

J'ai importé les cadres suivants dans mon projet Xcode:

#import <AVFoundation/AVFoundation.h> 
#import <AVKit/AVKit.h> 

Merci pour votre temps, Dan.

+0

Avez-vous changé la catégorie de AVAudioSession comme la réponse trouvée ici? http://stackoverflow.com/questions/32476523/make-avaudioplayer-play-a-music-file-through-phone-call-ear-speaker – Stonz2

+0

@ Stonz2 J'essaie de lire une vidéo ici, pas une piste audio. Dans tous les cas, Xcode trouve l'erreur suivante: '' 'Expected;' '' lors de l'ajout de cette ligne. – Supertecnoboff

+0

Oui, c'est un peu malformé dans la réponse que j'ai remarquée. Il lui manque la première partie du nom de la méthode 'setCategory:' avant l'énumération. – Stonz2

Répondre

0

Vous devez ajouter un observateur de changement de routage (AVAudioSessionRouteChangeNotification) à votre AVAudioSession. Vous pouvez alors détecter le retrait des écouteurs et dicter vous-même le routage (par exemple avec overrideOutputAudioPort) si nécessaire.

+0

Pourquoi tout le monde continue à parler de '' 'AVAudioSession''' qui s'applique lorsque vous voulez jouer une piste audio seule. J'essaye de jouer une vidéo ici. Le problème que j'ai est que je ne peux pas obtenir la piste audio de la vidéo à jouer à travers les haut-parleurs. – Supertecnoboff