gpt4 book ai didi

javascript - Firefox 屏幕共享 MediaStreamTrack 到 Twilio

转载 作者:行者123 更新时间:2023-11-30 21:08:45 25 4
gpt4 key购买 nike

我使用 Firefox v55.0.2

在文档(https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getUserMedia)中,在 NavigatorUserMedia.getUserMedia() 通常在 successCallback 之后我有一个 MediaStream 但在我的例子中我有 LocalMediaStream。

我需要 MediaStreamTrack 才能在 twilio 上提供它。

这是我的代码:

$scope.testShareFirefox = function () {
var p = navigator.mediaDevices.getUserMedia({
video: {
mediaSource: 'screen',
width: 640,
height: 480
},
})
.then(function(stream) {
const screenLocalTrack = new twilio.Video.LocalVideoTrack(stream);
$scope.videoConf.room.localParticipant.addTrack(screenLocalTrack);

var video = document.createElement('video');
$('#test-share-screen').append(video);

video.srcObject = stream;
video.play();
})
.catch(function (err) {
console.log(err);
});
};

谢谢。

最佳答案

我找到了解决方案。

LocalMediaStream 是 MediaStream 的继承,所以我们可以使用“.getTracks()”

这是工作解决方案:

$scope.testShareFirefox = function () {
navigator.mediaDevices.getUserMedia({
video: {
mediaSource: 'screen',
width: 640,
height: 480
},
})
.then(function(stream) {
stream.getTracks().forEach(function(track) {
$scope.videoConf.room.localParticipant.addTrack(track);
});

var video = document.createElement('video');
$('#test-share-screen').append(video);

video.srcObject = stream;
video.play();
var trackElements = document.querySelectorAll("track");
})
.catch(function (err) {
console.log(err);
});
};

关于javascript - Firefox 屏幕共享 MediaStreamTrack 到 Twilio,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46348896/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com