Подключите два экземпляра приложения Chrome Cast к одному сеансу.

Я пытаюсь воспроизвести некоторые функции из примера Tic-Tac-Toe, но вместо этого использую Chrome Cast API. Кто-нибудь знает, как подключить несколько устройств с Chrome и расширением Cast к одному сеансу Cast?

Единственный задокументированный (отчасти) способ подключения — это использование метода api.launch, и когда он вызывается со второго устройства, он повторно открывает страницу получателя, которая перезагружает весь контент (отключая первое устройство).

Я также попытался создать новое соединение с помощью POST-сообщения на http://:8008/connection/, что возвращает мне URL-адрес WebSocket. Когда я пытаюсь подключить WebSocket к этому URL-адресу ws://, я получаю «Неожиданный код ответа: 408» и не могу подключиться.


person Nick Spacek    schedule 11.08.2013    source источник
comment
Ах, может быть, я упускаю что-то очевидное. Я рассмотрю позже, но я думаю, что веб-приложение должно отправлять идентификатор активности от клиента к серверу. Когда на страницу приходит новый клиент, он сканирует сеть в поисках приемников. Когда они увидят получателя, они спросят у сервера веб-приложений, существуют ли какие-либо действия для этого получателя. Если это так, возможно, он может просто начать передавать Cast API идентификатор активности, полученный с сервера веб-приложения.   -  person Nick Spacek    schedule 12.08.2013
comment
Нет, это не работает. Я попытался использовать тот же идентификатор активности в другом браузере и получил сообщение об ошибке «Активность не существует».   -  person Nick Spacek    schedule 13.08.2013
comment
В настоящее время столкнулся с той же проблемой, вы уже нашли решение этой проблемы?   -  person Scarygami    schedule 28.09.2013
comment
Примечание. Я добавил об этом проблему в систему отслеживания ошибок: code.google.com/p/google-cast-sdk/issues/detail?id=75   -  person Scarygami    schedule 28.09.2013


Ответы (1)


Вы можете попробовать указать AutoJoinPolicy в chrome.cast.ApiConfig. Если вы установите это значение на chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED, оно будет работать в разных окнах (не знаю, как оно будет работать с разными экземплярами Chrome).

Например:

apiConfig = new chrome.cast.ApiConfig(
  sessionRequest,
  this.sessionListener.bind(this),
  this.receiverListener.bind(this),
  chrome.cast.AutoJoinPolicy.ORIGIN_SCOPED
);

Попробуйте!

person a--m    schedule 14.03.2014
comment
Спасибо за ответ, я какое-то время не возвращался к своему Chromecast, но если я его выкопаю, я попробую - person Nick Spacek; 14.03.2014