从 chromecast websender 设置 playbackRate

Setting playbackRate from a chromecast websender

Android 和 iOS 有一个 setPlaybackRate 方法,但是 Web Sender 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 调用中发送的命名空间是什么?

对于偶然发现此问题的任何其他人,以下是对我有用的方法:

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 似乎并不重要,因为它是一个传输变量。