выдача пустого объекта ошибки в localTracksPromise.then ().
ользую программируемое видео Twilio JS SDK и имею некоторые проблемы. Я взял их пример кода и смог создать комнату и подключиться к ней, которая запускает мою камеру / микрофон, но ни одно из событий не срабатывает, например, привязка видео к DOM, показ событий и т. Д.
Это часть приложения Cordova, построенного на Angular 1 и Ionic Framework. Вот код в моем контроллере:
angular.module('smartlab.controllers').controller('SupportVideoCtrl', ['$scope', '$http', function($scope, $http) {
// include Twilio Video library
const Video = Twilio.Video;
// call our "cross origin friendly" smartlab cloud server to get Twilio token (they can only be generated server-side)
$http.get('TOKEN_URL', function(data) {
}).then(function(data) {
console.log(data);
console.log("Token = " + data.data.token);
Video.connect(data.data.token, { name: 'Support' }).then(room => {
console.log('Connected to Room "%s"', room.name);
// None of the events below fire
room.participants.forEach(participantConnected);
room.on('participantConnected', participantConnected);
room.on('participantDisconnected', participantDisconnected);
room.once('disconnected', error => room.participants.forEach(participantDisconnected));
});
});
function participantConnected(participant) {
console.log('Participant "%s" connected', participant.identity);
const div = document.createElement('div');
div.id = participant.sid;
div.innerText = participant.identity;
participant.on('trackAdded', track => trackAdded(div, track));
participant.tracks.forEach(track => trackAdded(div, track));
participant.on('trackRemoved', trackRemoved);
console.log("Participant Connected");
console.dir(div);
document.body.appendChild(div);
}
function participantDisconnected(participant) {
console.log('Participant "%s" disconnected', participant.identity);
participant.tracks.forEach(trackRemoved);
document.getElementById(participant.sid).remove();
}
function trackAdded(div, track) {
console.log("Track added");
console.dir(div);
console.dir(track);
div.appendChild(track.attach());
}
function trackRemoved(track) {
track.detach().forEach(element => element.remove());
}
}]);
Кто-нибудь использовал эту библиотеку, и у вас есть какой-то пример кода, из которого можно извлечь или увидеть что-то не так с кодом выше? Я проверил их пример приложения NodeJS, но он сильно отличается от моей реализации, поэтому он не очень полезен. Спасибо!