0

我已经有一个使用麦克风将数据流式传输到<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>
4

1 回答 1

0

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

这可能就是要走的路。并不是说您必须使用该特定库,但 webrtc 绝对是您想要处理从用户本地设备到其他人的流式音频(或视频)的方式。您会认为从音频元素获取音频流很容易,但事实证明它非常棘手。

上面的库有 node 和 socket.io 的钩子,尽管默认情况下它使用 firebase 进行会话启动/握手。

于 2013-07-08T23:28:16.923 回答