我正在使用捕获音频数据getUserMedia()
,我想将它发送到我的服务器,以便我可以将它保存为 MySQL 字段中的 Blob。
这就是我正在努力做的。我已经多次尝试使用 WebRTC 来做到这一点,但目前我什至不知道这是否正确,甚至是最好的方法。
有人可以帮助我吗?
这是我用来从麦克风捕获音频的代码:
navigator.getUserMedia({
video:false,
audio:true,
},function(mediaStream){
// output mediaStream to speakers:
var mediaStreamSource=audioContext.createMediaStreamSource(mediaStream);
mediaStreamSource.connect(audioContext.destintion);
// send mediaStream to server:
// WebRTC code? not sure about this...
var RTCconfig={};
var conn=new RTCPeerConnection(RTCconfig);
// ???
},function(error){
console.log('getUserMedia() fail.');
console.log(error);
});
如何将其发送mediaStream
到服务器?
在谷歌搜索之后我一直在研究WebRTC
,但这似乎只是点对点通信- 实际上,现在我正在研究更多,我认为这是要走的路。这似乎是从客户端的浏览器到主机网络服务器的通信方式,但我尝试的任何东西都无法接近工作。
我一直在浏览W3C 文档(我发现它太抽象了),并且我一直在浏览这篇关于 HTML5 Rocks 的文章(它提出的问题多于答案)。显然我需要一种信令方法,谁能建议哪种信令方法最适合发送媒体流、XHR、XMPP、SIP、Socket.io 或其他东西?
服务器上需要什么来支持WebRTC的接收?我的 Web 服务器正在运行一个基本的 LAMP 堆栈。
另外,最好等到mediaStream
录制完成后再将其发送到服务器,还是最好将mediaStream
其作为录制内容发送?我想知道我是否要以正确的方式做这件事。我已经用 javascript 和 HTML5 编写了文件上传器,但是上传其中一个mediaStreams
似乎非常复杂,我不确定我是否正确地接近它。
对此的任何帮助将不胜感激。