【发布时间】:2018-06-19 10:02:33
【问题描述】:
我有以下代码:
$.getJSON('/video/getToken', function (data, status) {
identity = data.identity;
navigator.mediaDevices.getUserMedia({
audio: true,
video: {width: 320, height: 240}
})
.then(function (mediaStream) {
console.log("Obtained " + mediaStream.getTracks() +" from local and joining room" + roomName);
var connectOptions = {
name: roomName,
logLevel: 'off',
tracks: mediaStream.getTracks(),
preferredVideoCodecs: ['VP9', 'VP8']
};
return Video.connect(data.token, connectOptions);
})
.then(roomJoined)
.catch(function (error) {
log('Could not connect to Twilio: ' + error.message);
});
});
function roomJoined(room) {
const localParticipant = room.localParticipant;
localParticipant.on('trackPublicationFailed', function(error, localTrack){
console.log('Failed to publish track %s to room "%s": %s', localTrack,roomName, error.message);
});
localParticipant.on('trackPublished', function(localTrackPublication){
console.log('Succesfully published track %s with name %s to room "%s"', localTrackPublication.trackSid, localTrackPublication.trackName, roomName);
});
}
根据文档,当参与者将媒体发布到房间并且“trackPublicationFailed”时会触发“trackPublished”事件 发布失败时触发事件。但是,在我的情况下,似乎没有任何事件发生。
我可以验证曲目实际上已发布到房间,但仍然没有触发“trackPublished”事件。
twilio-video 在 1.6.1 铬:63 Ubuntu:16.04
【问题讨论】:
-
奇怪的是事件没有触发。您能否尝试使用createLocalTracks 而不是仅使用来自
getUserMedia的MediaStreamTracks来获取LocalTracks 的数组。此外,1.7.0 已经发布,因此可能也值得升级到最新版本。 -
更新到 1.7.0 并尝试使用提到的 createLocalTracks,但仍然没有触发。
标签: video-streaming html5-video twilio vp8 vp9