2017-05-01 2 views
1

Abspielen von Videos mit dem Avplayer, Anhören der loadedTimeRanges-Eigenschaft, Abspielen von etwa 10 Minuten Video, AVplayer lädt das Video immer vor und fühlt sich sehr teuer an, gibt es eine Möglichkeit, die Größe des vorinstallierten Bereichs zu begrenzen? Wie zum Beispiel das Vorladen von Videos zur Hälfte der Zeit?Festlegen der AVPlayer AVPlayerItem-Puffergröße?

Antwort

3

Ich denke, Sie suchen nach AVPlayerItems preferredForwardBufferedDuration Eigenschaft.

Per Apple:

Diese Eigenschaft definiert die bevorzugte Vorwärtspufferdauer in Sekunden. Wenn dieser Wert auf 0 gesetzt ist, wählt der Player für die meisten Anwendungsfälle eine geeignete Pufferungsstufe. Wenn diese Eigenschaft auf einen niedrigen Wert gesetzt wird, erhöht sich die Wahrscheinlichkeit, dass die Wiedergabe angehalten und neu gepuffert wird, während die Einstellung auf einen hohen Wert die Nachfrage nach Systemressourcen erhöht.

Siehe https://developer.apple.com/reference/avfoundation/avplayeritem/1643630-preferredforwardbufferduration?language=objc

+0

Vielen Dank, aber diese Eigenschaft kann nicht sein, ich suche, ich benutze avplayer, aber es ist das Video automatisch zu puffern, bei der Verwendung von KVO überwacht loadedTimeRanges Attribut gefunden, dass, selbst wenn ich Lies nicht das ganze Video, es wird alles geladen, ich denke es gibt eine Möglichkeit, nur einen Teil des Caches zu laden. – xywwjf