使用Chrome API控制Chromecast音量

时间:2016-10-21 11:40:59

标签: chromecast google-cast

在使用Chromecast Audio时,我需要在客户端(发送方)方面在UI中绘制适当的音量级别。我看到有两种方法可以从Chromecast接收(也可能设置)音量 - 来自ReceiverMedia命名空间。在我的理解中Receiver命名空间存储一般设备的音量,而Media命名空间存储当前播放曲目的音量。

  1. 在使用GET_STATUS请求加载任何曲目之前,似乎无法使用Media LOAD命名空间请求接收媒体量。那么如何正确显示加载媒体之前将使用的音量?在加载媒体后将UI RECEIVER卷更改为MEDIA卷看起来不是一个好的解决方案,对用户来说会是一个惊喜。
  2. 我无法使用SET_VOLUME Receiver命名空间来控制音量 - 我没有得到Chromecast的回复

    Json::Value msg, response;
    msg["type"] = "SET_VOLUME";
    msg["requestId"] = ++request_id;
    msg["volume"]["level"] = value; // float
    response = send("urn:x-cast:com.google.cast.receiver", msg);
    

    如果使用以下行而不是最后一行,则控制媒体音量确定:

    msg["mediaSessionId"] = m_media_session_id;
    response = send("urn:x-cast:com.google.cast.media", msg);
    

    我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

要在接收器上设置音量,您应该使用SDK的API而不是发送手工制作的消息。例如,您应该使用setReceiverVolumeLevel()。此外,使用接收器音量而不是流音量。