我正在尝试在我的 appleTV 上使用 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 === select(没有点击我这边)
最佳答案
无法回答那个确切的问题,但是,
这是我正在使用的是在 tvos 上播放 youtube 视频:
pod "AKYoutubeParser"
一个解析器,用于检索实际的 YouTube 视频网址。 视频播放由 apple core stuff (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()
}
}
}
}
关于swift - TVOS 获取 ReferenceError : Can't find variable when calling SWIFT function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35886754/