我用开源项目DMR为Android编写了CyberLink4Java。使用DLNA group发布的工具(Golden DMC和Gloden DMS)进行测试。我使用适当的描述文件创建了一个设备。现在它可以推动游戏了。

但是它不支持DMC的控制。

On the DMC UI, the control buttons(play, pause and stop) are grey.


必须进行一些数据交换以告知DMCDMR service start期间它支持这些控件。但我在规格中找不到。有什么问题的主意吗?

最佳答案

公开在给定时间有效的传输控制操作的方法是CurrentTransportActions状态变量和相应的方法GetCurrentTransportActions。这些功能是可选的,但有条件地是必需的,因此,如果要实现一个,则需要同时实现这两个。 CurrentTransportActions就像AVTransport中的大多数变量一样:它不是独立发生的事件,但是值更改将包含在LastChange事件中。这全部记录在AVTransport service definition中。

也就是说,即使不支持上述功能,大多数DMC仍可以根据DMR状态找出有效的操作:如果AVTransportURI为空,则显示播放控件没有意义。

10-08 17:06