webrtc推桌面流不带声音:
var videoStream = await navigator.mediaDevices.getUserMedia({
audio:false,
video: {
mandatory: {
chromeMediaSource: 'desktop',
chromeMediaSourceId: sourceId, // 屏幕分享源 id
// minWidth: 1280,
// maxWidth: 1280,
// minHeight: 720,
// maxHeight: 720
}
}
});
self.pc = new RTCPeerConnection();
self.stream = new MediaStream();
videoStream.getTracks().forEach(function (track) {
pc.addTrack(track);
self.ontrack && self.ontrack({ track: track });
});
self.ontrack = function (event) {
self.stream.addTrack(event.track);
};
web推送桌面流及麦克风声音:增加音频流,然后把二个合并一起,再用合并之后的流来做推送
var audioStream = await navigator.mediaDevices.getUserMedia({
audio: {
//默认输入的音频设备ID,groupID不是固定的
deviceId: audioId,
groupId: audioGroup,
echoCancellation: true,
noiseSuppression: true,
autoGainControl: true
}
})
const combinedStream = new MediaStream([...videoStream.getVideoTracks(), ...audioStream.getAudioTracks()])