首页 文章

更新Chromecast MediaMetadata

提问于
浏览
1

我正在Chromecast应用中播放实时HLS流,我想在程序开始/结束时更新MediaMetadata . 但是我找不到这样做的方法 . 我可以使用新的MediaInfo再次加载流,但我不能只更新现有的元数据 . 有没有办法做到这一点?

目前我正在使用Android应用程序进行投射 .

有没有办法将新的MediaMetadata发送到接收器,或者我可以传递带有信息的自定义数据消息,并使用javascript更新发件人内的元数据吗?

1 回答

  • 0

    通常看'CCL'用于在onRemoteStatusChange()之类的事件上操作元数据等接口的接口...

    看看,IMO如果你想将下面的消息类型改为“METADATA_CHANGE”或者更改mediaInfo的内容,那么只需将消息发送给接收者,你就可以得到你想要的广播...... onMediaDataChanged () .

    从接收器到CastMgr的样本消息...

    {"requestId":0,"status":{"applications":[{"appId":"33E59692","displayName":"test-receiver-app","namespaces":[{"name":"urn:x-cast:com.google.cast.player.message"},{"name":"urn:x-cast:com.google.cast.media"}],"sessionId":"0869F8A7-25CE-E55F-F571-346EBABB81FB","statusText":"Ready To Cast","transportId":"web-3"}],"isActiveInput":true,"volume":{"level":1.0,"muted":false}},"type":"RECEIVER_STATUS"}
    

    onRemoteMediaPlayerStatusUpdated()

    当接收器在视频结束时从PLAY转到IDLE时,将在所有“侦听器”上调用状态更改事件,即已注册为“状态已更改”的侦听器的所有IVideoCastConsumer实现 .

    在BaseCastManager的Base CCL类中,您可以监视此特定状态更改,然后广播您的onRemoteMediaPlayerMetadataUpdated()事件,并且所有观察者都将获得相应的回调....或者监听事件并只发送正确类型的消息收件人 .

    如果它并不完全是为了观察mediaMetaDataChanges IMO,那么查看它可以帮助您使用和@Override调整现有的API,以获得您想要的结果 .

相关问题