Я получаю session_error LOAD_CANCELLED
при попытке отправить второе видео на приемник Chromecast.
Я пытаюсь реализовать собственный приемник для трансляции видео с моего сайта. На данный момент приложение работает нормально, все сообщения обмениваются, как и ожидалось, за исключением того, что если у меня есть видеотрансляция, я не могу загрузить второе видео на приемник из-за вышеуказанной ошибки.
Согласно документации, это ожидаемое поведение (https://developers.google.com/cast/docs/reference/receiver/cast.receiver.media.ErrorType#.LOAD_CANCELED).
статический cast.receiver.media.ErrorType.LOAD_CANCELED
Возвращается, когда запрос LOAD отменяется вторым входящим запросом LOAD.
Однако я проверил ряд других более простых приложений, и все они воспроизводили одно и то же при воспроизведении 2-го видео: вызовите Load еще раз от отправителя, и он работает так, как ожидалось.
Это мой onLoad
перезаписан:
/* Start onLoad event processing */
Receiver.prototype.mediaOnLoadEvent_ = function(event) {
console.debug('Receiver.js: mediaOnLoadEvent_()');
var playListener = function(e) {
document.removeEventListener('video-READY', playListener);
// BUILDING MEDIAINFO and METADATA HERE
// .....
// .....
console.debug('Receiver.js: sending load complete');
this.mediaManager_.setMediaInformation(mediaInformation, true, {});
this.mediaManager_['mediaOrigOnLoad'](event);
}.bind(this);
document.addEventListener('video-READY', playListener);
window.CustomPlayer.loadVideo(event.data.media.contentId,
event.data.currentTime, function({});
};
это сообщения, которые я получаю в консоли для получателя, когда отправляю второй запрос LOAD:
[ 86.580s] [cast.receiver.IpcChannel] Received message: {"data":"{\"type\":\"LOAD\",\"requestId\":54589218,\"sessionId\":\"1B476387-AE78-4F07-BD06-A8CFEF4509A0\",\"media\":{\"contentId\":\"2365405980\",\"streamType\":\"BUFFERED\",\"contentType\":\"\"},\"autoplay\":true,\"currentTime\":0}","namespace":"urn:x-cast:com.google.cast.media","senderId":"243:client-50611"} cast_receiver.js:13
[ 86.585s] [cast.receiver.CastMessageBus] Dispatching CastMessageBus message cast_receiver.js:13
[ 86.591s] [cast.receiver.MediaManager] MediaManager message received cast_receiver.js:13
[ 86.595s] [cast.receiver.MediaManager] Dispatching MediaManager load event cast_receiver.js:13
[ 86.602s] [cast.receiver.MediaManager] Sending error message to 243:client-50611 cast_receiver.js:13
[ 86.606s] [cast.receiver.IpcChannel] IPC message sent: {"namespace":"urn:x-cast:com.google.cast.media","senderId":"243:client-50611","data":"{\"requestId\":54589182,\"type\":\"LOAD_CANCELLED\"}"} receiver.js?v=0.2:117
Receiver.js: mediaOnLoadEvent_()
Как видите, мой mediaOnLoadEvent
вызывается после отправки события load_cancelled
, так что я ничего не могу с этим поделать.
Спасибо.