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
È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top