From 33058f2b292b3a581333bdfb21b8f671898c5060 Mon Sep 17 00:00:00 2001 From: Peter Bengtsson Date: Tue, 8 Dec 2020 14:40:17 -0500 Subject: initial commit --- .../zh-cn/web/api/mediasource/duration/index.html | 94 ++++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 files/zh-cn/web/api/mediasource/duration/index.html (limited to 'files/zh-cn/web/api/mediasource/duration') diff --git a/files/zh-cn/web/api/mediasource/duration/index.html b/files/zh-cn/web/api/mediasource/duration/index.html new file mode 100644 index 0000000000..400256f465 --- /dev/null +++ b/files/zh-cn/web/api/mediasource/duration/index.html @@ -0,0 +1,94 @@ +--- +title: MediaSource.duration +slug: Web/API/MediaSource/duration +translation_of: Web/API/MediaSource/duration +--- +
{{APIRef("Media Source Extensions")}}{{SeeCompatTable}}
+ +

{{domxref("MediaSource")}} 接口的属性 duration 用来获取或者设置当前媒体展示的时长.

+ +

语法

+ +
mediaSource.duration = 5.5; // 5.5 seconds
+
+var myDuration = mediaSource.duration;
+ +

+ +

以秒为单位的 双精度浮点数.

+ +

错误

+ +

设置新的值的时候可能会有下面的错误抛出.

+ + + + + + + + + + + + + + + + + + +
错误异常
InvalidAccessError时长尝试设置一个负数, 或者 NaN.
InvalidStateError{{domxref("MediaSource.readyState")}} 状态不是 open, 或者 一个或多个 {{domxref("SourceBuffer")}} 对象在 {{domxref("MediaSource.sourceBuffers")}} 中被更新  (例如. 该 {{domxref("SourceBuffer.updating")}}属性 为 true.)
+ +

例子

+ +

下面的代码片段取自 Nick Desaulniers写的简单例子 (想进一步了解 查看完整例子, 或者 下载源代码 .)

+ +
function sourceOpen (_) {
+  //console.log(this.readyState); // open
+  var mediaSource = this;
+  var sourceBuffer = mediaSource.addSourceBuffer(mimeCodec);
+  fetchAB(assetURL, function (buf) {
+    sourceBuffer.addEventListener('updateend', function (_) {
+      mediaSource.endOfStream();
+      mediaSource.duration = 120;
+      video.play();
+      //console.log(mediaSource.readyState); // ended
+    });
+    sourceBuffer.appendBuffer(buf);
+  });
+};
+
+...
+ +

规范

+ + + + + + + + + + + + + + +
SpecificationStatusComment
{{SpecName('Media Source Extensions', '#widl-MediaSource-duration', 'duration')}}{{Spec2('Media Source Extensions')}}Initial definition.
+ +

浏览器兼容性

+ +
+ + +

{{Compat("api.MediaSource.duration")}}

+
+ +

相关链接

+ + -- cgit v1.2.3-54-g00ecf