緩衝

為提供更順暢的檢視體驗,TVSDK有時會緩衝視訊串流。 您可以設定播放器緩衝的方式。

TVSDK定義至少30秒的播放緩衝長度,以及媒體開始播放之前至少2秒的初始緩衝時間。 在應用程式呼叫play但在播放開始前,TVSDK會將媒體緩衝至初始時間,以在實際開始播放時提供順暢的開始。

通過定義新的緩衝策略,可以更改緩衝時間;通過使用即時啟動,可以更改初始緩衝何時發生。

設定緩衝時間

MediaPlayer提供設定和取得初始緩衝時間和播放緩衝時間的方法。

秘訣

如果您在開始播放之前未設定緩衝區控制參數,媒體播放器預設初始緩衝區為2秒,而持續播放緩衝區時間為30秒。

  1. 設定BufferControlParameters對象,該對象封裝初始緩衝時間和回放緩衝時間控制參數:

    此類提供兩種工廠方法:
    
    • 要將初始緩衝時間設定為等於播放緩衝時間:

      public static BufferControlParameters createSimple( 
          long bufferTime)
      
    • 要同時設定初始和播放緩衝時間:

      public static BufferControlParameters createDual( 
          long initialBuffer,   
          long bufferTime)
      

      如果參數無效,這些方法會擲出IllegalArgumentException,例如:

    • 初始緩衝時間小於零。

    • 初始緩衝時間大於緩衝時間。

  2. 要設定緩衝區參數值,請使用以下MediaPlayer方法:

    void setBufferControlParameters(BufferControlParameters params)
    
  3. 要獲取當前緩衝區參數值,請使用以下MediaPlayer方法:

       BufferControlParameters getBufferControlParameters()  
    

    如果AVE無法設定指定的值,媒體播放器會以錯誤代碼SET_BUFFER_PARAMETERS_ERROR進入ERROR狀態。

例如,若要將初始緩衝區設為2秒,而播放緩衝時間設為30秒:

mediaPlayer.setBufferControlParameters(BufferControlParameters.createDual(2000, 30000));

Primetime參考實作會示範此功能;使用應用程式的設定來設定緩衝值。

本頁內容