问题标签 [tvjs]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
tvos - 如何检测用户何时在 tvOS (tvml/tvjs) 应用程序中进入和退出 Airplay
我应该寻找什么事件来检测用户何时通过将其他播放内容流式传输到他们的 Apple TV 来中断我的应用程序。
从我的角度来看,这两者中更重要的是检测用户何时退出播放并且我的应用程序重新获得“焦点” - 但进入和退出都会很有用。
localization - 如何在 tvml 应用程序中使用当前语言使用 tvjs 进行本地化
我是 tvOS 应用程序的初学者。我正在使用 tvml 和 tvjs。我想在我的应用程序中进行本地化。我将如何获得应用程序中使用的当前语言和界面语言。
ios - 如何在 tvml (tvOS) 中使用 UISplitViewController
我对 TVML 编程相当陌生,我正在尝试在使用 tvml 和 tvjs 的 tvOS 应用程序中添加 splitview 作为我的 rootviewcontroller。我能找到的最接近的东西是catalogTemplate,但它没有隐藏/显示拆分视图的属性。我想使用 UISplitviewcontroller 作为我的根,并在选择时加载其他子视图。任何帮助将不胜感激,谢谢
https://developer.apple.com/design/human-interface-guidelines/tvos/interface-elements/split-views/
javascript - Parsing JSON for multiple categories for TVOS
I am creating a page within my TVOS app that parses my json based on 2 different categories ("full live sets" and "live single"). I'm using a catalogTemplate to put categories on the left and results on the right.
With the below code, the first category loads as expected because it's grabbing the first grid. How would I expand this for a second category (and up to 10 or so categories?).
apple-tv - Apple TV 中的 TVJS 播放器在 tvOS14 测试版中误触发事件 mediaItemDidChange
我们在 Apple TV 上的应用程序中使用 TVJS 播放器。在使用 Xcode 12.0 beta 4 在 tvOS14 beta 上测试我们的应用程序期间,我们观察到没有视频按预期播放,因为事件mediaItemDidChange()意外触发。此事件由播放器本身触发。
在以前的版本中,当用户播放到结束或转发到结束时触发。我们在旧版本中进行了相同的测试,效果很好。
如果是新的 beta 版本,它会在加载本身时触发,并且媒体在初始加载媒体时由事件侦听功能更改,从而导致无限循环的效果。
我们在 tvOS 14 测试版中有任何视频播放器问题吗?有没有人在测试 beta 版本的应用程序时遇到过同样的问题?
tvos - TVML 可恢复播放器(在 tvOS 14 中)
我有一个 TVML/TVJS 应用程序,它显示一个包含许多可播放项目的文档。每个项目都是一个带有事件处理程序的锁定元素,用于启动内置媒体播放器,非常类似于示例项目:
https://developer.apple.com/documentation/tvmljs/playing_media_in_a_client-server_app
在示例代码中,事件处理程序Player
每次触发时都会从头开始创建一个新对象,但我希望播放器可以恢复:当用户退出播放器(例如使用菜单按钮)并通过再次选择项目返回时,我想从中断的地方恢复播放器。
以前,我会通过Player
在加载文档时已经为每个项目创建对象来做到这一点(包括Playlist
and MediaItem
),然后在事件处理程序中执行player.select()
or player.play()
。那会很好用。
从 tvOS 14 开始,Player
在文档加载时创建所有这些对象似乎会使应用程序过载(也许它已经开始从网络获取所有这些项目)。所以我不再Player
事先创建对象,但如果我已经有一个Player
项目,我会检查事件处理程序,并在第一次创建它时创建它,否则我会重用该Player
对象。
但即使我检查了我是否重用了现有Player
对象,调用play()
或present()
导致播放从头开始。那么获得可恢复播放器的合适方法是什么?
tvml - TVML/TVJS:getActiveDocument() 在重新加载后返回 undefined
我有一个 TVML 应用程序,顶部有一个菜单,其中包括一个登录/注销按钮(取决于用户是否登录)。当用户退出时,会有一条确认消息和一个注销按钮。如果用户单击该按钮,则执行以下操作:
如果我然后尝试重新登录,我会转到登录屏幕,其中有一个表单供用户输入电子邮件和一个下一步按钮,其中包含以下内容:
这是 _getStringFromTextField() 函数:
问题是 getActiveDocument() 返回 undefined 而不是活动文档。因此,该按钮不起作用,我永远无法进入下一个屏幕,即密码表单。
每当我在退出后重新加载应用程序并立即尝试重新登录时,都会发生这种情况。解决此问题的唯一方法是完全关闭应用程序并重新启动它。
关于为什么会发生这种情况的任何见解?重新加载后如何让 getActiveDocument() 工作?
xcode - tvML,无法让播放器重复播放,mediaItemWillChange 不会触发?
我是 tvML 的新手,所以我很可能错过了一些简单的东西......脚本运行良好,没有错误,视频播放,mediaItemWillChange 事件永远不会触发再次播放视频。这是我的 tvJS 代码,任何建议将不胜感激。
tvml - Update TVML screen upon returning with Menu button
I have a TVML screen with a collection list. The screen shows a number of buttons with a checkmark on the corner that marks if the user has watched that particular video or not.
Data is obtained from an API call which returns all the available videos, including which have been watched by the user.
When the user selects a button, the lesson.tvml appears. This is a productTemplate with a play button.
When the video plays, a progress handler monitors whether the video has been watched at least until 15 secs before the end and marks it as watched in the database. When the video ends, the screen returns to lesson.tvml. When the user presses MENU, the app goes back to the collection list screen. At this point I'd like the screen to refresh so that the call to the API is made again and the watched mark for the video the user just watched is rendered accordingly.
I have been able to refresh screens upon selecting a different item in the menu bar:
but I can't figure out how to do it without the menu bar, because the collection list I want to update is a second-level screen that is not accessed via the menu bar.
tvos - TVML:避免滚动到第一个可点击项目
我正在开发一个 TVML 应用程序,其中一个模板顶部有一个带有标题的横幅,下面是几个架子(架子的数量取决于加载的数据)。问题是当货架的数量超过一个时,屏幕会滚动到货架的第一个可点击项目,并且带有标题的横幅会滚动到屏幕外。如何使横幅保持在屏幕上?
这是我正在使用的模板:
数据带有小胡子。
如您所见,我尝试使用 autoHighlight 禁用选择
但这没有奏效。