我使用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);
});
};谢谢。
发布于 2017-09-25 07:43:37
我找到了解决办法。
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);
});
};https://stackoverflow.com/questions/46348896
复制相似问题