2014-11-23 77 views
-1

我正在研究捕獲用戶屏幕並將屏幕發送給其他用戶的Web應用程序。到目前爲止,我的桌面捕捉工作很好,我使用peer.js。現在我想將用戶麥克風的音頻添加到流中。所以我認爲這會很簡單,在getUserMedia調用中將音頻變量設置爲true,但這隻會給我帶來一個錯誤。有任何想法嗎?帶音頻的桌面捕捉

function startScreenStreamFrom(streamId) { 
navigator.webkitGetUserMedia({ 
    audio: true, 
    video: { 
     mandatory: { 
     chromeMediaSource: 'desktop', 
     chromeMediaSourceId: streamId, 
     maxWidth: window.screen.width, 
     maxHeight: window.screen.height 
       } 
     } 
}, 

function(screenStream) { 
    stream = screenStream; 
    videoElement.src = URL.createObjectURL(screenStream); 
    videoElement.play(); 
    videoplaying = true; 
    broadcaststarted = true; 
}, 

function(error) { 
    console.log('getUserMedia failed!: ' + error); 
}); 
} 

這會引起導航用戶媒體錯誤。

+0

你有一個麥克風連接正確,webrtc能夠訪問它嗎? – 2014-11-24 14:53:01

+0

是的,有一個麥克風連接,但我怎麼知道webrtc是否能夠訪問它? – bigC5012 2014-11-24 18:22:13

+0

您可以僅對麥克風發出請求,並查看是否可以獲取該流。 – 2014-11-24 18:59:26

回答

0

由於某些原因,您無法同時共享屏幕和音頻。解決這個問題的一種方法是將兩個獨立的流加載到視頻元素中,並將音頻加載到獨立的音頻元素中。或者,如果您希望可以將它們加載到視頻元素。

+0

嗨科林,你可以請分享解決方案或步驟/設置navigation.GetUserMedia?我知道這已經過去了一年,但我可以肯定地嘗試你的解決方案。 – user2801184 2016-02-16 23:55:24