【发布时间】:2015-08-06 19:15:13
【问题描述】:
我目前正在使用 JavaScript 和 MediaSource API 开发 DASH 播放器
流媒体工作正常,但我一直在更改表示形式。在播放期间更改表示的最暴力的方法可能是替换 HTML 文档中的 元素。
但是,我想知道是否有一种简单的方法可以使用 Media Source API 实现适应(更改表示)。我读过单个 Media Source 对象可以处理许多源缓冲区,但是在添加第二个视频缓冲区后会引发异常。
我正在使用 Chrome 43.0.2357.65m
var mediaSource = MediaSource();
var url = URL.createObjectURL(mediaSource);
videoElement.src = url;
mediaSource.addEventListener('sourceopen', function () {
var buffer1 = mediaSource.addSourceBuffer('video/mp4; codecs="avc1.4d4015"');
var buffer2 = mediaSource.addSourceBuffer('video/mp4; codecs="avc1.4d4015"');
}
例外:
Uncaught QuotaExceededError: Failed to execute 'addSourceBuffer' on 'MediaSource': This MediaSource has reached the limit of SourceBuffer objects it can handle. No additional SourceBuffer objects may be added.
【问题讨论】:
标签: javascript mpeg-dash media-source