0

我正在启动一个播放器,然后将一个文档推送到导航堆栈上。视频正在后台播放,但由于文档占据了屏幕,所以不可见。谁能告诉我如何使文档透明,或者有没有更好的方法来实现相同的效果?

4

3 回答 3

0

您可以在以下链接中获得交互式视频叠加:http: //devstreaming.apple.com/videos/wwdc/2016/212s41rh77qgdg26s86/212/212_developing_tvos_apps_using_tvmlkit_part_1.pdf 叠加可以互动,因为您实际上是在向其中添加文档覆盖文档。所以任何类型的按钮锁定都可以正常工作。

于 2017-01-04T07:29:04.763 回答
0

覆盖 TVML?

TVJS 播放器属性overlayDocument,请参阅https://developer.apple.com/library/tvos/documentation/TVMLJS/Reference/TVJSPlayer_Ref/index.htmlhttps://forums.developer.apple.com/thread/18431

于 2016-03-23T20:28:09.810 回答
0

交互式覆盖文档是要走的路。以下代码显示了这是如何完成的。

App.onLaunch = function(options) {  
    var singleVideo = new MediaItem('video', 'http://somevideo.mp4');  
    var videoList = new Playlist();  
    videoList.push(singleVideo)  
    var myPlayer = new Player();  
    myPlayer.playlist = videoList;  

    var parser = new DOMParser();  
    var parsedDoc = parser.parseFromString(`<document>  
                                           <alertTemplate>  
                                           <button>  
                                           <text>Click Me</text>  
                                           </button>  
                                           </alertTemplate>  
                                           </document>`, "application/xml");  

    myPlayer.interactiveOverlayDocument = parsedDoc;  
    myPlayer.interactiveOverlayDismissable = false;  

    myPlayer.play();  
}  

苹果没有很多文档。但他们确实在 WWDC,WWDC 2016 演示文稿的幻灯片 98-102 中提到了它。

本文档的结尾——Apple TV 标记语言参考——复合多媒体元素

以及 TVML 指南中的一个示例:TVML 和 TVMLKit 中的核心概念——Server/PlaybackVideo/index.js

这件事确实有一些错误,即如果视频是您显示的第一件事,则 interactiveOverlayDismissable 值不活动,或者整个事情与 TVML 之外的本机代码一起运行良好。但这是做视频背景更容易的部分。

请注意,您可能希望添加一些偶数侦听器以在最后重播视频,因为默认行为是弹出视图。

于 2018-03-10T19:01:34.950 回答