2009-12-29 4 views
2

Je souhaite lire un fichier audio qui est publié sur un site Web. J'essaye d'employer AVAudioPlayer et de placer l'URL à son lien de site Web. Mais le bgPlayer s'avère être nul. Je pense que je peux télécharger ce fichier audio et le lire après, mais est-il possible de le lire pendant que je le télécharge?Comment lire un fichier audio sur des sites Web sur iPhone?

NSURL *bgURL = [NSURL URLWithString:@"http://www.radioslots.com/iphone/test/tmp/1.mp3"]; 
bgPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:bgURL error:nil]; 
bgPlayer.numberOfLoops = -1; 
if (bgPlayer) { 
    [bgPlayer play]; 
} 

Répondre

1

AVAudioPlayer n'est pas fait pour ouvrir les flux réseau, je pourrais me tromper mais je suis assez sûr que ce n'est pas possible.

Juste à côté de la tête, je peux penser à deux façons qui fonctionneraient probablement: 1. Utilisez MPMoviePlayer, car cela peut ouvrir les flux réseau et malgré le nom fonctionne avec l'audio. La seule chose à faire est d'afficher le joueur modal avec les contrôles. 2. Téléchargez le fichier réseau et stockez-le localement, puis utilisez AVAudioPlayer pour lire le fichier local.

+0

Merci. MPMoviePlayer peut lire des mp3 sur des sites Web comme vous l'avez mentionné. –

1

Je viens d'écrire réponse here .Vérifier et remplacer l'URL utilisée là-bas avec le vôtre ..

vous remplacez juste

NSString *soundFilePath = [[NSBundle mainBundle] pathForResource:@"songname" ofType:@"mp3"]; 
NSURL *newURL = [[NSURL alloc] initFileURLWithPath: soundFilePath]; 

avec

NSString *soundFilePath = @"Your URL"; 
NSURL *newURL = [[NSURL alloc] initWithString: soundFilePath]; 
+1

Mais je veux lire un fichier audio sur le site Web, pas à partir d'un fichier local. –

0

Il y a une documentation appropriée disponible au this link

Mais je pense que vous devriez également vérifier le code d'erreur que vous obtenez de cette façon:

NSError *error; 
bgPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:bgURL error:&error]; 

Hope this helps.

Questions connexes