Начальная настройка Chromecast

Рад наконец-то иметь некоторое время, чтобы попытаться разработать мой Chromecast, но, увы... даже не могу начать.

Я заполнил запрос в белый список, получил электронное письмо, подтверждающее пятницу (как раз к выходным!), Затем я начал смотреть образцы и, основываясь на том, что я хотел, чтобы получился привет мир.

  1. Настроил Chrome Cast для отправки сериала в Google через приложение Mac Chromecast
  2. белые списки в меню разработчика
  3. проверил, что код получателя действительно находится на том же URL, что и заявленная регистрация (копия вставлена ​​из письма с подтверждением, и это работает).

Происходит следующее: я открываю HTML отправителя с моего сервера или с локального хоста, и мне не удается отобразить Chromecast (да, я в той же сети).

Я добавил логи в код, чтобы проверить, получено ли сообщение о событии, а НЕ получено, поэтому я предполагаю, что это расширение, которое не может проверить идентификатор приложения.

есть ли журнал для расширения, которое я могу посмотреть?

вот код отправителя:

    <!DOCTYPE html>
<html data-cast-api-enabled="true">
<head>
<title>Hello sender!</title>
</head>
<body>
    <div class="receiver-div">
                <h3>Choose A Receiver</h3>
                <ul class="receiver-list">
                    <li>Looking for receivers...</li>
                </ul>
            </div>
    <button class="kill" disabled>Kill the Connection</button>
</body>
<script src="http://underscorejs.org/underscore-min.js"></script>
<script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>

<script>
        var cast_api,
            cv_activity,
            receiverList,
            $killSwitch = $('.kill');
            console.log("initializing script");

        window.addEventListener('message', function(event) {
            console.log('Message received of type'+event.data.event);
            if (event.source === window && event.data &&
                    event.data.source === 'CastApi' &&
                    event.data.event === 'Hello') {
                initializeApi();
            }
        });

        initializeApi = function() {
                console.log('Initialize API called');
            if (!cast_api) {
                console.log("no cast api yet")
                cast_api = new cast.Api();
                cast_api.addReceiverListener('myidstring here', onReceiverList);
            }
        };

        onReceiverList = function(list) {
            console.log('on receiverlist called');
            if (list.length > 0) {
                receiverList = list;
                $('.receiver-list').empty();
                receiverList.forEach(function(receiver) {
                    $listItem = $('<li><a href="#" data-id="' + receiver.id + '">' + receiver.name + '</a></li>');
                    $listItem.on('click', receiverClicked);
                    $('.receiver-list').append($listItem);
                });
            }
        };

        receiverClicked = function(e) {
            e.preventDefault();

            var $target = $(e.target),
                receiver = _.find(receiverList, function(receiver) {
                    return receiver.id === $target.data('id');
                });

            doLaunch(receiver);
        };

        doLaunch = function(receiver) {
            if (!cv_activity) {
                var request = new cast.LaunchRequest('still my id string here', receiver);

                $killSwitch.prop('disabled', false);

                cast_api.launch(request, onLaunch);
            }
        };

        onLaunch = function(activity) {
            if (activity.status === 'running') {
                cv_activity = activity;

                cast_api.sendMessage(cv_activity.activityId, 'charz', {type: 'HelloWorld'});
            }
        };

        $killSwitch.on('click', function() {
            cast_api.stopActivity(cv_activity.activityId, function(){
                cv_activity = null;

                $killSwitch.prop('disabled', true);
            });
        });
    </script>
</html>

единственное, что регистрируется - это строка "сценарий инициализации".

заранее спасибо,

CR.

РЕДАКТИРОВАТЬ: Я отмечу ответ Али как ответ, поскольку он указал мне путь, чтобы исправить это: тот факт, что отладка означала, что белый список был сделан, заставил меня посмотреть конфигурацию на моей стороне:

  1. file: // URL не работают
  2. когда я настраиваюсь на своем веб-сервере локально, с localhost/sender.html он работает сразу.
  3. белый список ДОЛЖЕН БЫТЬ ТОЧНЫМ и не включать протокол (по-видимому). Я внес в белый список мой URL-адрес как: http://myserver/mypath/sender.html, и это не сработало, наконец, добавив myserver/mypath/sender.html сделал это безупречно.

Может быть, документ может быть обновлен, чтобы отразить это?

1 ответ

Решение

Попробуйте получить доступ http://<chromecast-ip>:9222 чтобы убедиться, что ваше устройство находится в белом списке правильно. Вы должны увидеть страницу с простой ссылкой, которая откроет отладчик Chrome для вашего получателя.

Другие вопросы по тегам