swift - TVOS 获取 ReferenceError : Can't find variable when calling SWIFT function

标签 swift tvos tvml

我正在尝试在我的 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/

相关文章:

swift - 将 TvML 集成到原生 tvOS 应用程序中

ios - 如何加速 tvOS 中的 UICollectionView 单元格渲染

ios - 无法使用 Chilkat 库构建项目

ios - 从两个不同构建中的一个数组中检索项目返回不一致的结果

swift - Siri 远程触摸位置?

swift - tvOS Swift SKScene dealloc 喜怒无常

in-app-purchase - 如何使用 tvOS beta 2 进行应用内购买?

swift - 如何在 Swift 中将默认 AnchorPoint 更改为 0.5、0.5

ios - 奇怪的是 cell.detailTextLabel!.text 无法正确显示(仅在选择后显示)

javascript - 我应该如何将 tvOS AppDelegate 的 applicationWillEnterForeground 映射到 javascript 函数?