我正在尝试在我的苹果电视上使用tvml播放YouTube视频。它基于:https://gist.github.com/nickv2002/b7bb28cdccc000bdb910
我第一次启动它时,它正在工作,但是在我玩(离开应用程序)后,我得到:
ReferenceError: Can't find variable: playYTblock
重新启动/退出(0)应用程序后,ATV它再次工作...似乎,应用程序<>TVJS 之间的上下文丢失了 - 有人有想法吗?
这是我的代码:
in AppDelegate.swift
let playerVC = YTPlayerViewController()
in the application function:
playerVC.createPlayYT( appController! )
in presenter.js
if (youtubeUrl && (event.type === "play")) {
playYTblock(youtubeUrl);
}
in the template.xml.js
<listItemLockup youtubeUrl="H4O6oEaIDrs">
顺便说一句,任何人都知道为什么在加载模板后立即触发 event.type === 选择(无需单击我这边)
无法回答确切的问题,但是,
这是我使用的是在tvos上播放YouTube视频:
pod "AKYoutubeParser"
用于检索实际 youtube 视频网址的解析器。视频播放由苹果核心的东西(AVFoundation,AVKit)处理
如果不使用它,可以删除所有HUD部分。
import AKYoutubeParser
import AVFoundation
import AVKit
func displayTrailer(trailer: String) {
AKYoutubeParser.h264Streams(trailer) { [weak self] streams, error in
if let s = streams, v = AKYoutubeParser.getBestQuality(s) {
let playerVC = AVPlayerViewController()
let playerItem = AVPlayerItem(asset: AVAsset(URL: v.url))
let videoPlayer = AVPlayer(playerItem: playerItem)
playerVC.player = videoPlayer
self?.presentViewController(playerVC, animated: true) {
playerVC.player?.play()
}
}
}
}