【发布时间】:2018-06-27 20:51:09
【问题描述】:
我正在处理一个项目,我需要将音频流发送到 Node.js 服务器。我可以用这个功能捕捉麦克风的声音:
function micCapture(){
'use strict';
navigator.getUserMedia = navigator.getUserMedia || navigator.webkitGetUserMedia || navigator.mozGetUserMedia;
var constraints = {
audio: true,
video: false
};
var video = document.querySelector('video');
function successCallback(stream) {
window.stream = stream; // stream available to console
if (window.URL) {
video.src = window.webkitURL.createObjectURL(stream);
} else {
video.src = stream;
}
//Send audio stream
//server.send(stream);
}
function errorCallback(error) {
console.log('navigator.getUserMedia error: ', error);
}
navigator.getUserMedia(constraints, successCallback, errorCallback);
}
如您所见,我能够捕捉音频并在网站上播放。
现在我想将该音频流发送到 Node.js 服务器,然后将其发送回其他客户端。就像语音聊天一样,但我不想使用 WebRTC,因为我需要服务器中的流。我怎样才能做到这一点?我可以使用 socket.io-stream 来做到这一点吗?在我看到的示例中,他们录制了音频并发送了一个文件,但我需要“实时”音频。
【问题讨论】:
-
是的,您当然可以使用 WebSockets 将音频从客户端流式传输到服务器...我建议您编写一些代码,然后返回特定的可回答的编程问题...您所说的上述代码不是特定于您的套接字问题
-
感谢您的建议。我会编写一些代码并更新问题。
-
你在这方面有什么好的进展吗?
-
我最终尝试了WebRTC,但我最终放弃了这个项目
标签: javascript node.js audio