我在英国运行应用程序,有一个有趣的问题。我工作的频道在一天中的某些时候作为一个电视频道运行,但在其他时间切换到一个数据频道。
因此,在启动时询问设备channelType是有意义的。所以我可以选择数据模式下的流。我发现有些设备将服务报告为电视服务,即使频道处于数据模式,而在电视模式下则处于数据模式。
我尝试过另一种方法将通道绑定到任何模式,这在数据模式中显示了其他问题。有些设备在没有视频的情况下仍保留在playState 0中,而其他设备则返回playState 2。但是,我可以询问getCurrentActiveComponents是否存在视频pid,甚至返回不同的结果格式。
你将如何克服这个问题?我错过了一个诡计吗?
发布于 2022-04-25 14:11:04
实际上,根据规范,当getCurrentActiveComponents不处于状态表示时,playState可能返回未定义的值(值: 2)。否则,它应该返回一个AVComponent值集合,该集合表示正在呈现的指定类型的当前活动组件。摘录自规范:
“如果组件集已知,则返回表示正在呈现的指定类型的当前活动组件的AVComponent值集合。否则返回未定义的组件。对于一个AVComponent对象,如果该视频/广播对象处于呈现状态,则应知道该组件集,如果该对象处于其他状态,则可能已知该组件集。对于A/V控件对象,如果该A/V控件对象处于播放状态,则应知道该组件集,如果该对象处于其他状态,则可能知道该组件集。”
因此,当playState处于状态时,呈现(值: 2)时,getCurrentActiveComponent应该返回一组AVComponent值,表示正在呈现的指定类型的当前活动组件。
https://stackoverflow.com/questions/71997545
复制相似问题