Я тестирую свой Chromecast с помощью приложения chromecast-hello-world
от pjjanak, расположенного на github здесь.
Он добавляет прослушиватель к событию message
, который фактически проверяет, внедряется ли контент API.
window.addEventListener('message', function(event) {
if (event.source === window && event.data &&
event.data.source === 'CastApi' &&
event.data.event === 'Hello') {
console.log('message event');
initializeApi();
}
});
message event
правильно регистрируется в консоли, поэтому я уверен, что белый список приложений Chrome настроен правильно.
У меня также есть следующее:
initializeApi = function() {
if (!cast_api) {
cast_api = new cast.Api();
cast_api.addReceiverListener('my_app_id_is_here', onReceiverList);
console.log('initializeApi');
}
};
onReceiverList = function(list) {
console.log('receiverlist:' + list);
//snipped other stuff from here...
}
Проблема в том, что addReceiverListener вызывается, но список получателей всегда пуст. Консоль просто пишет: receiverlist:
Похоже, что мой Chomecast находится в режиме разработчика, так как я могу получить доступ к инструментам разработчика через порт 9222. Однако у меня не было флажка «Отправлять серийный номер этого Chromecast при проверке обновлений» ранее (я поставил его сейчас, и выполнил несколько перезагрузок/сбросов безрезультатно).
Я совершенно озадачен. Есть идеи?