0

我有一个 TVML/TVJS 应用程序,它显示一个包含许多可播放项目的文档。每个项目都是一个带有事件处理程序的锁定元素,用于启动内置媒体播放器,非常类似于示例项目:

https://developer.apple.com/documentation/tvmljs/playing_media_in_a_client-server_app

在示例代码中,事件处理程序Player每​​次触发时都会从头开始创建一个新对象,但我希望播放器可以恢复:当用户退出播放器(例如使用菜单按钮)并通过再次选择项目返回时,我想从中断的地方恢复播放器。

以前,我会通过Player在加载文档时已经为每个项目创建对象来做到这一点(包括Playlistand MediaItem),然后在事件处理程序中执行player.select()or player.play()。那会很好用。

从 tvOS 14 开始,Player在文档加载时创建所有这些对象似乎会使应用程序过载(也许它已经开始从网络获取所有这些项目)。所以我不再Player事先创建对象,但如果我已经有一个Player项目,我会检查事件处理程序,并在第一次创建它时创建它,否则我会重用该Player对象。

但即使我检查了我是否重用了现有Player对象,调用play()present()导致播放从头开始。那么获得可恢复播放器的合适方法是什么?

4

0 回答 0