Дома я использую стандартный потребительский беспроводной маршрутизатор, и все работает так, как ожидалось.
На работе мы используем беспроводную ячеистую сеть Cisco, и все работает не так, как ожидалось: я постоянно получаю сообщение «недоступно» в своем ReceiveListener, который я использую для создания экземпляра объекта ApiConfig. Однако на работе я могу транслировать видео с YouTube и другие приложения для Android с поддержкой Chromecast. На работе я могу успешно транслировать вкладки из браузера Chrome.
Реализованный мной код очень похож на рекомендуемый в официальной документации Google.
Мой код можно увидеть здесь. Настройка происходит вокруг строки 900. Вот суть того, что я делаю, на случай, если вы не хотите копаться в этом коде:
window.addEventListener('load', function () {
function initializeCastApi() {
var sessionRequest = new chrome.cast.SessionRequest('F6ADC45B');
var apiConfig = new chrome.cast.ApiConfig(sessionRequest,
chromecastSessionListener, receiverListener);
chrome.cast.initialize(apiConfig, onChromecastInitSuccess, function onError() { });
}
if (!chrome.cast || !chrome.cast.isAvailable) {
setTimeout(initializeCastApi, 1000);
}
});
function chromecastSessionListener(e) {
chromecastSession = e;
}
function receiverListener(e) {
if (e === 'available') {
self.chromecastAvailable = true;
$('#chromecastButton').show();
}
}
function onChromecastInitSuccess() {
}
Это в прямом эфире, поэтому вы можете увидеть больше того, о чем я говорю, на этой примерной странице.