Настройка скорости воспроизведения с веб-сайта chromecast

#google-cast #google-cast-sdk

#google-cast #google-cast-sdk

Вопрос:

В Android и iOS есть метод setPlaybackRate, но в API веб-отправителя этого нет. Как я могу выполнить это с помощью SendMessage? Это что-то вроде этого? Но что это за тип сообщения?

 playerTarget.setHalfSpeed = function (){
    var media = castSession.getMediaSession();
    castSession.sendMessage("urn:x-cast:com.google.cast.media",{
        type: "THEWHATNOW",
        playbackRate: 0.5,
        mediaSessionId: media.mediaSessionId
    });
}.bind(this);
 

Я вижу сообщения, перечисленные здесь:
https://developers.google.com/cast/docs/reference/messages
но затем в примерах я вижу сообщение типа «SKIP_AD», которое нигде не задокументировано. Все, что я хочу иметь возможность сделать, это установить скорость воспроизведения во время воспроизведения при кастинге в качестве веб-отправителя.

Я вижу тип сообщения здесь: https://developers.google.com/cast/docs/reference/web_receiver/cast.framework.messages .SetPlaybackRateRequestData Но каково пространство имен для отправки в вызове SendMessage?

Ответ №1:

Для всех, кто наткнется на это, вот что сработало для меня:

 playerTarget.setHalfSpeed = function (){
    var media = castSession.getMediaSession();
    castSession.sendMessage("urn:x-cast:com.google.cast.media",{
        type: "SET_PLAYBACK_RATE",
        playbackRate: 0.5,
        mediaSessionId: media.mediaSessionId,
        requestId: 2
    }).then(
        function (a) { console.log('Set playback rate success'); },
        function (errorCode) {
            console.log('Set playback rate error: '   errorCode);
        });
}.bind(this);
 

Похоже, что RequestID не имеет значения, поскольку это транзитная переменная.