我有一个Sender(android)应用程序(使用v3库),它将customData发送到自定义Receiver应用程序。传递的customData之一是一个对象数组:
[{
season: 1,
episode: 1,
title: "Pilot",
streamUrl: "http://streams.com/s1e1.mp4"
},{
season: 1,
episode: 2,
title: "Second episode",
streamUrl: "http://streams.com/s1e2.mp4"
},{
season: 1,
episode: 3,
title: "Third episode",
streamUrl: "http://streams.com/s1e3.mp4"
}]
并且自定义Receiver应用程序具有自动播放逻辑,当当前的一个接近结束时播放下一集。这完全没问题,这里没有问题。
当第一集播放时,标题'Pilot'会显示在Sender应用中的迷你和全屏播放器控件中。但是,当Receiver应用程序播放“第二集”时,发件人应用播放器控件仍会显示“Pilot”作为标题。
是否可以从Receiver更新Sender应用程序的数据?你能分享一下如何做的代码吗?
我已通过Receiver API文档,使用了大多数方法,例如 MediaManager setMediaInformation()
https://developers.google.com/cast/docs/reference/receiver/cast.receiver.MediaManager#setMediaInformation
但无济于事。也许我做错了什么或者还需要在Sender应用程序中编写其他代码?或者也许这是不可能的?
感谢您的所有输入。谢谢你的答案!
更新
从发件人(Android)方面,MiniControllerFragment和ExpandedControllerActivity都使用MetaData来显示标题和副标题。 似乎更新MetaData的唯一方法是load()。但是,在自动播放方面,Chromecast会自动播放下一集。再次调用load()是不可能的。我们找不到如上所述更新MetaData的方法。