standard apple iphone objective-c ios audio-streaming

iphone - apple - Transmisión de audio mp3 con AVPlayer



media streaming ios (4)

Además de la respuesta de Sumit Mundra, que me ayudó mucho, descubrí que esta técnica en realidad no transmite archivos MP3 desde un servidor remoto. Cuando implementé esto, el archivo se descargó de forma sincrónica, bloqueando mi interfaz de usuario, antes de reproducir. La forma de transmitir correctamente el MP3 que encontré funcionó muy bien fue apuntar a un archivo M3U. Esto es solo un archivo de texto con una extensión .m3u que contiene un enlace al MP3 original. En su lugar, apunte el código de Sumit a ese archivo y tendrá una transmisión que comenzará a reproducirse inmediatamente.

Este es el lugar donde encontré esa información: http://www.soundabout.net/streammp3.htm

Estoy escuchando algunos informes contradictorios sobre esto. Lo que estoy tratando de hacer es transmitir un archivo mp3 desde una URL. He investigado durante horas, pero no puedo encontrar buenas guías sobre cómo hacer esto, ni siquiera qué tipo de reproductor de audio debo usar.

Algunos amigos me dicen que AVPlayer puede transmitir mp3, pero la documentación de Apple dice que no. He derramado el transmisor de audio de Matt Gallagher (http://www.cocoawithlove.com/2008/09/streaming-and-playing-live-mp3-stream.html), pero ese código se hizo hace mucho tiempo, y Soy lo suficientemente nuevo para esto que es difícil trabajar a través de las autoreleases y retenciones y todo eso.

El audio que estoy tratando de transmitir es un archivo mp3 bastante grande de un servidor libsyn, con una URL de formato ...

http://traffic.libsyn.com/podcastname/episode.mp3

Todo lo que necesito hacer es agarrarlo y comenzar a jugar, con la capacidad de pausar y restregar. ¿Lo primero es lo primero, CAN AVPlayer puede reproducir mp3? Y si es así, ¿alguien tiene alguna guía o código al que puedan dirigirme? Y si no, ¿hay algún tipo de clase de reproductor de audio que pueda transmitir audio?

Intenté crear un AVPlayerItem, se inicializó con la URL, luego lo agregué a un AVPlayer, pero obtengo una tonelada de errores de Carga de errores ... y Símbolo no encontrado ... Apreciaría cualquier información sobre esto, gracias!



También puedes probar mi biblioteca Audjustable de código abierto que admite transmisión HTTP. Se basa en Matt AudioStreamer, pero se ha ordenado, optimizado y actualizado para admitir múltiples fuentes de datos (no HTTP) y reproducción sin pausas.

https://github.com/tumtumtum/audjustable .


prueba esto

-(void)playselectedsong{ AVPlayer *player = [[AVPlayer alloc]initWithURL:[NSURL URLWithString:urlString]]; self.songPlayer = player; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(playerItemDidReachEnd:) name:AVPlayerItemDidPlayToEndTimeNotification object:[songPlayer currentItem]]; [self.songPlayer addObserver:self forKeyPath:@"status" options:0 context:nil]; [NSTimer scheduledTimerWithTimeInterval:0.1 target:self selector:@selector(updateProgress:) userInfo:nil repeats:YES]; } - (void)observeValueForKeyPath:(NSString *)keyPath ofObject:(id)object change:(NSDictionary *)change context:(void *)context { if (object == songPlayer && [keyPath isEqualToString:@"status"]) { if (songPlayer.status == AVPlayerStatusFailed) { NSLog(@"AVPlayer Failed"); } else if (songPlayer.status == AVPlayerStatusReadyToPlay) { NSLog(@"AVPlayerStatusReadyToPlay"); [self.songPlayer play]; } else if (songPlayer.status == AVPlayerItemStatusUnknown) { NSLog(@"AVPlayer Unknown"); } } } - (void)playerItemDidReachEnd:(NSNotification *)notification { // code here to play next sound file }