Estoy tratando de reproducir un MP3 a través de AVAudioPlayer
, lo que pensé que era bastante simple. Desafortunadamente, no está funcionando del todo. Aquí está todo lo que hice:AVAudioPlayer deja de jugar inmediatamente con ARC
- Por el bien de la prueba, he creado una nueva aplicación iOS (Single Vista) en Xcode.
añadí el marco AVFoundation al proyecto, así como la
#import <AVFoundation/AVFoundation.h>
a laViewController.m
he añadido un archivo MP3 a la carpeta de Aplicaciones 'Documentos'.
he cambiado el
ViewControllers
viewDidLoad:
a lo siguiente:
Código:
- (void)viewDidLoad
{
[super viewDidLoad];
NSString* recorderFilePath = [NSString stringWithFormat:@"%@/MySound.mp3", [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"]];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:recorderFilePath] error:nil];
audioPlayer.numberOfLoops = 1;
[audioPlayer play];
//[NSThread sleepForTimeInterval:20];
}
Por desgracia, el audio se detiene, obviamente, justo después de que comienza la reproducción. Si elimino el comentario sleepForTimeInterval
, se reproduce durante 20 segundos y se detiene después. Este problema ocurre solo al compilar con ARC, de lo contrario, funciona sin problemas.
No necesita iniciar otro hilo para reproducir audio. ¿Has intentado proporcionar un puntero de error para ver si se está registrando algo? – isaac
¿Qué error está recibiendo? – Daniel
Sí, pasé un NSError a initWithContensOfURL. Sin embargo, se mantiene nulo ... Así que no tengo ningún error, simplemente deja de jugar de inmediato. – Phlibbo