在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  C  影視  網(wǎng)絡(luò)安全  HTML/ pc瀏覽器獲取音頻流,怎樣實時傳給后臺

pc瀏覽器獲取音頻流,怎樣實時傳給后臺

代碼:
if (navigator.getUserMedia) {

        navigator.getUserMedia(
            // constraints
            {
                //video: true,
                audio: true
            },
            // successCallback
            function (localMediaStream) {
                var audio = document.querySelector('audio');
                console.log(localMediaStream,'嘻嘻嘻');
                audio.src = window.URL.createObjectURL(localMediaStream);
                console.log(audio.src,'吱吱吱')
                // do whatever you want with the video
                audio.play();
            },
            // errorCallback
            function (err) {
                console.log("The following error occured: " + err);
            });
    } else {
        alert("getUserMedia not supported by your web browser or Operating system version");
    }
    
    
    localMediaStream是通過pc端麥克風(fēng)獲取的音頻流,可以轉(zhuǎn)化成blob形式的url,加在audio上就可以播放出來。
    問題:localMediaStream這個視頻流怎樣實時傳遞給后端,(類似于直播那種),我目前能做到的是將這個音頻流先保存成mp3,再傳給后臺。
    這個視頻流怎樣實時傳遞?
回答
編輯回答
礙你眼

可以實時的把blob通過ajax提交給后端

2018年6月15日 13:37
編輯回答
久舊酒

視頻和音頻原理一樣,這里以音頻為例。

其實這個問題你需要和后臺協(xié)商的, 假設(shè)后臺有一個接受文件流的接口,那么代碼類似這樣:

navigator.getUserMedia(
            // constraints
            {
                //video: true,
                audio: true
            },
            // successCallback
            function (localMediaStream) {
               fetch(url, {
                   method: 'POST',
                   body: localMediaStream
               })
            },
            // errorCallback
            function (err) {
                console.log("The following error occured: " + err);
            });
    } else {
        alert("getUserMedia not supported by your web browser or Operating system version");
    }
2018年7月14日 08:38