ios - Swift Youtube 框架委托(delegate)方法未触发

标签 ios swift youtube

我正在使用一个框架在 Swift 中播放 Youtube 视频:https://github.com/gilesvangruisen/Swift-YouTube-Player 。 该框架提供了委托(delegate)方法,但我似乎无法让它们启动。其他人已经成功了,所以我确信问题出在我身上。

import UIKit
import YouTubePlayer

class MainPlayerController: UIViewController, YouTubePlayerDelegate {

@IBOutlet var playerView: YouTubePlayerView!

override func viewDidLoad() {
    super.viewDidLoad()
    let myVideoURL = NSURL(string: "https://www.youtube.com/watch?v=OGe-WXhbmBg")
    playerView.delegate = self
    playerView.loadVideoURL(myVideoURL! as URL)
}

override func didReceiveMemoryWarning() {
    super.didReceiveMemoryWarning()
}

@IBAction func play(_ sender: AnyObject) {
    playerView.play()
}


//The 3 functions below will not fire

func playerStateChanged(videoPlayer: YouTubePlayerView, playerState: YouTubePlayerState) {
    print("playerStateChanged")
}

func playerReady(videoPlayer: YouTubePlayerView) {
    print("playerReady")
}

func playerQualityChanged(videoPlayer: YouTubePlayerView, playbackQuality: YouTubePlaybackQuality) {
    print("playerQualityChanged")
}


}

播放器工作正常并且可以播放。我正在尝试让 playerReady() 函数特别工作。任何帮助都会很棒,谢谢。

最佳答案

“尝试在每个方法的第一个参数之前添加下划线。即。playerReady(_ videoPlayer:...)” -维克托·加达特

关于ios - Swift Youtube 框架委托(delegate)方法未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41309772/

相关文章:

ios - 指定 NSLineBreakMode.byTruncatingTail 会导致在 UILabel 中显示 NSAttributedString 时出现问题

silverlight - 带有 MediaElement 的 Windows Phone 上的 YouTube

ios - 找不到“FMDB.h”文件

ios - 获取 Firebase 分析收集启用状态

ios - 每个 .xib 文件都必须有自己的 .h 和 .m 文件吗?

swift - 如何根据 swift 中的路径和标记设置谷歌地图缩放级别

swift - 当我单击主页上的一行时,转到下一页,但不显示上下文

ios - 将 Youtube 视频以高清格式嵌入 iOS 应用程序

android - API 16 之前的 ExoPlayer

ios - 如何检查 NSData 在 UIImage 中的使用是否有效