Sto provando a riprodurre un MP3 tramite AVAudioPlayer
che ho pensato fosse abbastanza semplice. Sfortunatamente, non sta funzionando. Ecco tutto quello che ho fatto:AVAudioPlayer interrompe la riproduzione immediatamente con ARC
- Per motivi di test, ho creato una nuova applicazione iOS (Single View) in Xcode.
ho aggiunto il quadro AVFoundation al progetto così come il
#import <AVFoundation/AVFoundation.h>
alViewController.m
ho aggiunto un file MP3 alla cartella Applicazioni 'Documenti'.
ho cambiato il
ViewControllers
viewDidLoad:
al seguente:
Codice:
- (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];
}
Purtroppo, l'audio si interrompe, ovviamente, subito dopo inizia a suonare. Se taccio il commento, il sleepForTimeInterval
suona per 20 secondi e si ferma in seguito. Questo problema si verifica solo durante la compilazione con ARC, altrimenti funziona perfettamente.
Non è necessario avviare un'altra discussione per riprodurre l'audio. Hai provato a fornire un puntatore di errore per vedere se qualcosa è stato registrato? – isaac
che errore stai ottenendo? – Daniel
Sì, ho passato un NSError a initWithContensOfURL. Rimane nullo, però ... Quindi non ricevo errori, smette solo di giocare immediatamente. – Phlibbo