带音频的桌面捕获

时间:2014-11-23 23:07:44

标签: javascript audio video web webrtc

我正在开发一个捕获用户屏幕并将屏幕发送给另一个用户的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);
});
}

这会显示导航用户媒体错误。

1 个答案:

答案 0 :(得分:0)

由于某种原因,您无法同时共享屏幕和音频。解决此问题的一种方法是使用两个单独的流并将视频流加载到视频元素中,将音频加载到单独的音频元素中。或者,如果您希望可以将它们加载到视频元素中。