TimeRanges 对象用于表示媒体(如音频或视频)中已播放、已缓冲或可寻址的时间范围集合。它是一个只读对象,通常通过媒体元素的属性(如 played、buffered 或 seekable)获取。
基本属性:
length:返回时间范围的数量。例如,如果用户播放了视频的前10秒和后5秒,则length为。 start(index):返回指定索引范围的开始时间(单位:秒)。索引从0开始,如start(0)获取第一个范围的起始点。 end(index):返回指定索引范围的结束时间(单位:秒)。例如,end(0)获取第一个播放范围的结束点。 主要用途:
已播范围:通过
audio.played或video.played获取,显示用户已播放过的时间段,支持跳跃播放后的多个范围。 已缓冲范围:通过
audio.buffered或video.buffered获取,显示当前已加载到本地的时间段,用于判断播放流畅性。 可寻址范围:通过
audio.seekable或video.seekable获取,显示用户可跳转到的时间段,即使未完全缓冲。 使用示例:
const video = document.getElementById("myVideo");
// 获取第一个播放范围
if (video.played.length > 0) {
const start = video.played.start(0);
const end = video.played.end(0);
console.log(`第一个播放范围: ${start}秒 到 ${end}秒`);
}
// 获取缓冲范围数量
console.log(`缓冲范围数量: ${video.buffered.length}`);