【问题标题】:How to disable menu button press in TVML?如何禁用 TVML 中的菜单按钮按下?
【发布时间】:2018-07-20 06:56:02
【问题描述】:

如何在 TVML 中禁用菜单按钮按下?对于我项目中的某些场景,例如在视频中播放广告时,我不希望用户通过按菜单按钮跳过它。我在互联网上没有看到任何解决方案。请帮忙。

function loadingDoc() {                                     
var Template =  `
 <document>
    <divTemplate>
        <title style="tv-position: bottom-right;">1/1</title>
    </divTemplate>
</document>`

var templateParser = new DOMParser();
parsedTemplate = templateParser.parseFromString(Template, "application/xml");
parsedTemplate.addEventListener("disappear", highlightThumbnail.bind(this));
player.interactiveOverlayDocument = parsedTemplate;
player.interactiveOverlayDismissable = true;

}

var highlightThumbnail = function (event){
    loadingDoc();
}

【问题讨论】:

  • 提供您的代码以查看和建议
  • 这就像您正在播放任何视频,但您不希望用户通过按菜单按钮关闭播放器。我正在使用本机 tvml 播放器。
  • 我认为 Sinha 的问题是:如何将 UITapGestureRecognizer 附加到本机 TVML 视频播放器 developer.apple.com/documentation/tvmljs/player

标签: ios swift tvos tvml


【解决方案1】:

两种可能可行的解决方案是:

1) Native + TVML:找到iPhone -- How to find topmost view controller中提到的最顶层的视图控制器,并对其应用UITapGestureRecognizer。

2) 仅限 TVML:使用 interactiveOverlayDismissable 和 interactiveOverlayDocument,您可以在用户关闭当前文件时推送另一个覆盖文件。因此——他们将永远无法选择菜单。

【讨论】:

  • 感谢嘉穗的回复。但该解决方案似乎没有奏效。我试过: myPlayer.interactiveOverlayDocument = parsedDoc; myPlayer.interactiveOverlayDismissable = false;
  • 嘿,很抱歉不是很清楚,我的意思是,您可以将 myPlayer.interactiveOverlayDismissable 设置为 true,然后在 parsedDoc 上,将关闭事件侦听器添加到覆盖文档,(在用户点击时触发菜单),在该回调中,您可以再次将 myPlayer.interactiveOverlayDocument 设置为同一文档
猜你喜欢
  • 1970-01-01
  • 2015-02-10
  • 1970-01-01
  • 1970-01-01
  • 2018-06-03
  • 1970-01-01
  • 2021-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多