【发布时间】:2015-01-21 14:45:29
【问题描述】:
我正在开发一个捕获用户屏幕并将屏幕发送给另一个用户的 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);
});
}
这会导致导航用户媒体错误。
【问题讨论】:
-
您的麦克风连接正确且 webrtc 可以访问它?
-
是的,有一个麦克风连接,但我怎么知道 webrtc 是否能够访问它?
-
你可以单独请求麦克风,看看你是否能得到流。
-
如何申请麦克风?我认为一旦音频设置为 true,它就会自动请求麦克风。
-
确实如此,但要单独这样做,以确定您的麦克风是否有问题。此外,Chrome 已经更新了他们访问桌面的方式,并且必须通过插件来完成。这个 SO 问题可能会为桌面捕获提供指导:stackoverflow.com/questions/25763088/…
标签: javascript audio video web webrtc