Avaudioplayer rifiuta di suonare qualsiasi cosa, ma nessun errore, ecc.
-
28-10-2019 - |
Domanda
Questo è il codice Avaudioplayer più semplice possibile e non riesce a riprodurre nulla. Nessun errore, niente nella console, il file viene sicuramente trovato come se cambi la stringa URL in qualcosa che non è lì, ottengo un arresto anomalo. Cosa sto facendo di sbagliato qui? L'ho provato con e senza il delegato, così come con e senza preparetoplay, e non riesco a togliermi nulla. Ho provato anche vari file audio. Mi strappa davvero i capelli su questo!
@implementation ViewController
- (IBAction)playSound:(id)sender
{
NSURL *soundLocation = [[NSURL alloc] initWithString:@"Lot01.wav"];
AVAudioPlayer *audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:soundLocation error:nil];
[audioPlayer setDelegate:self];
[audioPlayer play];
}
@end
Soluzione
Si è scoperto che è stato un problema con il rilascio di ARC, l'ho risolto aggiungendo una coppia @property e @synthesize per l'avaudioplayer in questione e dichiarandolo forte. Si è sbarazzato di tutti questi errori e ha riprodotto il file senza problemi.
Altri suggerimenti
Sembra che non stia ottenendo correttamente il percorso al tuo file, forse prova qualcosa del genere.
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"Lot01" ofType:@"wav"];
NSURL *url = [NSURL fileURLWithPath:filePath];
Quindi inizia l'Avaudioplayer esattamente come eri, tranne in quel caso che sarebbe con ContentSofurl: URL.