我正在使用一个框架在 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/