Ähnliches ist in meiner App passiert, die AVAudioPlayer verwenden. Ich versuchte mit [NSURL URLWithString:path]
und fand heraus, dass es bestimmte mp3-Dateien nicht öffnen kann. Ich schaute in Fehler durch eine Zeile wie [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:path] fileTypeHint:AVFileTypeMPEGLayer3 error:&error]
, aber der Fehler war einfach nil
Allerdings wurde es durch Ersetzen der URL mit [NSURL fileURLWithPath:path]
gelöst.
In beiden Fällen, der Pfad path NSString * @"/var/mobile/Containers/Data/Application/4D96D4AE-2ED4-40B0-85D2-230E1AFA90E7/Documents/01-AudioTrack 01.mp3" 0x1457a8f0
Noch weiß ich nicht den Grund, aber jetzt sollte ich vorsichtig sein mit [NSURL URLWithString:]
.
PS. In NSURL Referenzdokument, sagte Apple wie folgt:
WICHTIG NSURL Objekte für Dateisystempfade zu erstellen, verwenden fileURLWithPath: isDirectory: statt.
die [NSURL fileURLWithPath:]
zeigt deutlich, sollte für offene Datei verwendet werden, obwohl [NSURL URLWithString]
auch für einige Fälle funktioniert.
"Ich muss auch das letzte Bild als Standbild anzeigen, wenn HSL-Video endet" Nicht im Zusammenhang mit dem ersten Teil Ihrer Frage. Stellen Sie es als eine andere Frage! Zwei zum Preis von einem. – matt