La stessa cosa è successo nella mia app che utilizza AVAudioPlayer. Ho provato con [NSURL URLWithString:path]
e ho scoperto che non riesce ad aprire determinati file mp3. Ho guardato in errore da una riga come [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:path] fileTypeHint:AVFileTypeMPEGLayer3 error:&error]
, ma l'errore era semplicemente nil
Tuttavia è stato risolto sostituendo l'url con [NSURL fileURLWithPath:path]
.
In entrambi i casi, il percorso path NSString * @"/var/mobile/Containers/Data/Application/4D96D4AE-2ED4-40B0-85D2-230E1AFA90E7/Documents/01-AudioTrack 01.mp3" 0x1457a8f0
Ancora non ne conosco il motivo, ma ora dovrei stare attento a utilizzare [NSURL URLWithString:]
.
PS. Nel documento NSURL di riferimento, Apple ha detto, come di seguito:
IMPORTANTE per creare oggetti NSURL per i percorsi di file system, utilizzare fileURLWithPath: isDirectory: invece.
che indica chiaramente [NSURL fileURLWithPath:]
dovrebbe essere utilizzato per aprire il file, anche se [NSURL URLWithString]
funziona anche per alcuni casi.
"Inoltre, ho bisogno di mostrare l'ultimo fotogramma come immagine fissa quando il video HSL termina" Non correlato alla prima parte della domanda. Chiedilo come una domanda diversa! Due al prezzo di uno. – matt