我使用getUserMedia()
捕獲音頻數據,並且我想將它發送到我的服務器,以便我可以將它作爲Blob保存在MySQL字段中。通過getUserMedia捕獲MediaStream到WebRTC主機服務器
這就是我想要做的。我已經做了幾次嘗試,使用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
到服務器?
周圍的Googling之後我一直都盼望到WebRTC
,但這似乎只是點對點通信 - 實際上,現在我期待這個多了,我覺得這是要走的路。它似乎是從客戶端瀏覽器到主機網絡服務器進行通信的方式,但我嘗試的任何東西甚至都無法正常工作。
我一直在通過the W3C documentation(我發現方式太抽象了),我一直通過this article on HTML5 Rocks(這是提出更多的問題比答案)。顯然我需要一種信令方法,任何人都可以建議哪種信令方法最適合發送mediaStreams,XHR,XMPP,SIP,Socket.io或其他東西?
服務器上需要什麼來支持接收WebRTC?我的網絡服務器正在運行一個基本的LAMP堆棧。
最好等到mediaStream
完成錄製後再發送給服務器,還是最好發送mediaStream
作爲錄製的內容?我想知道我是否正在以正確的方式做這件事。我已經在JavaScript和HTML5中編寫了文件上傳器,但上傳其中一個mediaStreams
似乎更加複雜,我不確定我是否正確處理它。
任何幫助,將不勝感激。
你只想存儲錄製的文件嗎?如果是這樣,您可以將blob上傳到服務器並保存它。或者你想讓你的服務器能夠從客戶端獲得實時流,並讓服務器處理錄製? – 2014-09-02 19:06:00
我只想將記錄的文件存儲在服務器上。 – Jimmery 2014-09-03 11:06:36