1

我正在尝试使用以下代码以编程方式从 youtube_ios_player_helper pod 实例化 YTPlayerView:

let player = YTPlayerView()
   player.cueVideo(byId: "someId", startSeconds: 0)

然后创建所需的约束并将 youtubeplayer 视图添加到容器视图中。

但是,内部 webview 永远为零,并且不会被创建。我想我没有正确实例化播放器,但我没有找到任何关于如何做到这一点的信息。

有什么帮助吗?

谢谢

4

2 回答 2

1

如果查看源代码cueVideoById实际上并没有创建内部 webview,则需要先调用以下方法之一:

- (BOOL)loadWithVideoId:(NSString *)videoId
- (BOOL)loadWithPlaylistId:(NSString *)playlistId
- (BOOL)loadWithVideoId:(NSString *)videoId playerVars:(NSDictionary *)playerVars
- (BOOL)loadWithPlaylistId:(NSString *)playlistId playerVars:(NSDictionary *)playerVars
于 2020-10-23T05:03:59.557 回答
0

您必须创建一个对象playerYTPlayerView但是,它很容易被释放。那么该怎么办?让它成为一个属性。像这样的东西:

private lazy var player: YTPlayerView = {
    return YTPlayerView()
}()

override func viewDidLoad()...

或者

private var player: YTPlayerView!

override func viewDidLoad() {
    super.viewDidLoad()
    self.player = YTPlayerView()
}
于 2020-10-22T17:25:42.957 回答