获取要发送到Node.js服务器的流Blob的内容

Getting contents of a streaming Blob to be sent to a Node.js Server

本文关键字:Blob 服务器 js Node 获取      更新时间:2023-09-26

我已经有一个使用麦克风将数据流传输到<audio>标签的工作页面。

然而,我希望发送到我的<audio>标签的数据被收获。你怎么样?想一下数据流是否可以被收集并连续地流到Node.js中服务器?(我将使用Binaryjs二进制数据流)

这是我幸运地拥有的代码。:)

<audio src="" id="audio" controls="controls">Sad twinkletoes does not have audio.</audio><br>
<br>
<span id="aw"></span>
<script>
try {
    navigator.getMedia = ( navigator.getUserMedia    || navigator.webkitGetUserMedia ||
                        navigator.mozGetUserMedia ||navigator.msGetUserMedia);
    navigator.getMedia ({
            audio: true
        },
        function(stream) {
            var audio = document.getElementById('audio');
            var streamer = window.URL.createObjectURL(stream);
            audio.src = streamer;
            var loopertime = 3;
            var looper = setInterval(function() {
                if(loopertime == 0) {
                    clearInterval(looper);
                    audio.play();
                    // stream starts here!
                    var spanner = document.getElementById('aw');
                    spanner.innerHTML = '<code>Streaming...</code>';
                    // this is where I want the data to be streamed...

                } else {
                    audio.play();
                    setTimeout(function() {
                        audio.pause();
                    },10);
                    loopertime--; // played and paused 3 times... getaround for audio only not working
                }
            },15);
        },
        function(err) {
            // No permissions
        }
    );
}
catch(e) {
    alert('Your browser does not support HTML5 Audio Media.');
    console.log(e);
}
</script>

https://github.com/muaz-khan/WebRTC-Experiment/tree/master/RTCMultiConnection

这可能是正确的方法。并不是说你必须使用特定的库,但webbrtc绝对是你想要从用户本地设备到其他人的流式音频(或视频)的方式。你可能认为从音频元素中获取音频流很容易,但事实证明这很棘手。

上面的库有用于节点和套接字的钩子。