使用ChromeAPI控制Chromecast音频音量
在使用Chromecast音频时,我需要在用户界面中绘制客户端(发送方)的适当音量。我发现有两种从Chromecast接收(也可能设置)音量的方法-从使用ChromeAPI控制Chromecast音频音量,chromecast,google-cast,Chromecast,Google Cast,在使用Chromecast音频时,我需要在用户界面中绘制客户端(发送方)的适当音量。我发现有两种从Chromecast接收(也可能设置)音量的方法-从接收器和媒体名称空间。据我所知,Receiver名称空间存储一般设备的音量,而Media名称空间存储当前播放的曲目的音量 在使用load请求加载任何曲目之前,似乎无法使用GET\u STATUS请求media命名空间来接收媒体卷。那么,如何正确显示加载介质前要使用的卷?加载媒体后,将UIRECEIVERvolume更改为MEDIAvolume看起来
接收器
和媒体
名称空间。据我所知,Receiver
名称空间存储一般设备的音量,而Media
名称空间存储当前播放的曲目的音量
load
请求加载任何曲目之前,似乎无法使用GET\u STATUS
请求media
命名空间来接收媒体卷。那么,如何正确显示加载介质前要使用的卷?加载媒体后,将UIRECEIVER
volume更改为MEDIA
volume看起来不是一个好的解决方案,会让用户大吃一惊SET\u 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);
我做错了什么为了在接收器上设置卷,您应该使用SDK的API,而不是发送手工编制的消息。例如,您应该使用。另外,请使用接收方卷而不是流卷。如果SDK的API涵盖所有平台、语言和用例,我很乐意使用它。但是,当我开发Android、iOS而不是Chrome应用程序时,我不能使用它。它将被移植到其他平台。