/**
 * @file buffer.js
 * @module 緩衝區
 */
從'./time-ranges.js'導入{createTimeRange};

/**
 * 計算已緩衝的媒體百分比。
 *
 * @param {TimeRange} 緩衝
 * 表示緩衝時間範圍的當前 `TimeRange` 對象
 *
 * @param {number} 持續時間
 *媒體的總持續時間
 *
 * @return {數字}
 * 以十進制形式表示的總持續時間的緩衝百分比。
 */
導出函數 bufferedPercent(緩衝,持續時間){
  讓 bufferedDuration = 0;
  讓我們開始吧;
  讓結束;

  如果(!持續時間){
    返回 0;
  }

  如果(!緩衝||!緩衝長度){
    緩衝 = createTimeRange(0, 0);
  }

  對於(讓 i = 0;i < buffered.length;i++){
    開始 = buffered.start(i);
    end = buffered.end(i);

    // 緩衝結束可以比持續時間大一小部分
    如果(結束>持續時間){
      結束=持續時間;
    }

    bufferedDuration += 結束 - 開始;
  }

  返回緩衝持續時間/持續時間;
}