2

youtube 视频流的方式给我留下了深刻的印象,它使用了分块数据并且没有使用太多的流量资源,所以我尝试在这个源之后模仿 youtube 方式。

    vid.src = blobUrl;
    vid.currentTime = timevalue;
    vid.play;
    xhr.open('POST', '1', true);
    xhr.responseType = "arraybuffer";
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    xhr.send('rs=' + rs + '&rn=' + rn);
    rs = rn;
    rn += ch;
    xhr.onload = function(e){
        if (this.status == 200) {
            var tmp = new Uint8Array(this.response);
            var tmp1 = v8array;
            v8array = new Uint8Array(tmp1.length + tmp.length);
            v8array.set(tmp1);
            v8array.set(tmp, tmp1.length);
            myblob = new Blob([v8array]);
            blobUrl = URL.createObjectURL(myblob);
            identify = true;
        }
    }

这意味着在播放所有 rs-rn (rangestart-rangeend (ch = chunk range)) 时向 Uint8Array 添加额外的请求数据,它运行良好,除了在 vid.src url 更改时出现一些缺失,我发现 youtube 的 blob-url不改变。不使用媒体api,如何在播放视频时更改blobUrl表示自然而不缺乏?请帮我。

4

0 回答 0