Meine iOS-App verwendet eine , um Medien aus dem Internet zu streamen. Ich verwende KVO, um Ereignisse wie die Pufferung (playbackBufferEmpty
) zu erkennen und aufgehalten zu werden (playbackLikelyToKeepUp
). Ich habe jedoch einen unheimlich spezifischen Fehler bemerkt. Obwohl während der meisten Netzwerk-Verlangsamungen die playbackBufferEmpty
KVO getroffen wird, und wenn es erholt, die playbackLikelyToKeepUp
KVO wie erwartet getroffen wird, habe ich festgestellt, dass (mit einer gewissen Häufigkeit) diewird Puffer für eine gewisse Zeit, erholen, die playbackLikelyToKeepUp
wird getroffen , das Audio wird für vielleicht 1-3 Sekunden abgespielt, und dann hört das Audio wieder auf, als ob es puffern würde - ohne schlägt das playbackBufferEmpty
KVO wieder. Und es erholt sich nicht davon.AVPlayer wird nach Pufferung nicht wiederhergestellt
TL; DR: playbackBufferEmpty
(10-20 Sekunden) ->playbackLikelyToKeepUp
-> spielt für 1-3 s -> hört auf zu spielen, aber kein KVO wird getroffen.
Das Schlimmste ist, wenn dies geschieht, wird die AVPlayer
nicht automatisch starten wieder zu spielen, wie es funktioniert, wenn sie von Puffern erholt, und die App ist still, bis die AVPlayer
manuell gestoppt/wieder gestartet. Es passiert mehr oder weniger jedes Mal, wenn ich streame. Ist das ein bekanntes Problem mit ? Ist das ein drittes KVO-Event, auf das ich achten kann? Oder irgendwelche Tipps, wie man das debuggt? Vielen Dank!
EDIT: Zusätzliche Informationen: Die AVPlayer
‚s error
Eigenschaft ist nil
wenn dies geschieht, die status
Eigenschaft bereit zu spielen, und die rate
Eigenschaft ist 1. AKA Nichts anderes seltsam los ist, so weit ich kann sagen.