无法使用Web套接字连接播放来自服务器的音频块?

时间:2019-09-25 09:56:10

标签: javascript html5-audio audio-streaming

我正在将部分块音频缓冲区数据传递到音频标签,但是我无法播放声音。我也为Web音频API尝试过同样的方法,但是它不起作用。请给我一些建议,如何使用块数据播放音频。

var createAudioElement = function () {
    audioElement = document.querySelector('video');

    if (window.MediaSource) {
        mediaSource = new MediaSource();
        audioElement.src = URL.createObjectURL(mediaSource);
        mediaSource.addEventListener('sourceopen', sourceOpen);
    } else {
        console.log("The Media Source Extensions API is not supported.")
    }
};

function sourceOpen(e) {


    var mime = 'video/mp4; codecs="avc1.42E01E, mp4a.40.2"';
    console.log(this.readyState);
    var mediaSource = this;
    if (mediaSource.readyState === 'open') {
        var sourceBuffer = mediaSource.addSourceBuffer(mime);

        sourceBuffer.addEventListener('updateend', function (e) {
            audioElement.play();
            if (!sourceBuffer.updating && mediaSource.readyState === 'open') {
                mediaSource.endOfStream();
            }
        });
        sourceBuffer.appendBuffer(data);
    }

};

data将位于大块中,因此请将此大块附加到源缓冲区中,但不起作用。

0 个答案:

没有答案