Leo*_*bus 37
Xcode 8.2•Swift 3.0.2
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var wv: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
loadYoutube(videoID: "oCm_lnoVf08")
}
func loadYoutube(videoID:String) {
guard
let youtubeURL = URL(string: "https://www.youtube.com/embed/\(videoID)")
else { return }
wv.loadRequest( URLRequest(url: youtubeURL) )
}
}
Run Code Online (Sandbox Code Playgroud)
Xcode 7.3.1•Swift 2.x
import UIKit
class ViewController: UIViewController {
// create an outlet for your webview
@IBOutlet weak var wv: UIWebView!
override func viewDidLoad() {
super.viewDidLoad()
// load your you tube video ID
loadYoutube(videoID: "oCm_lnoVf08")
}
func loadYoutube(videoID videoID:String) {
// create a custom youtubeURL with the video ID
guard
let youtubeURL = NSURL(string: "https://www.youtube.com/embed/\(videoID)")
else { return }
// load your web request
wv.loadRequest( NSURLRequest(URL: youtubeURL) )
}
}
Run Code Online (Sandbox Code Playgroud)
第1步:添加pod 'youtube-ios-player-helper', '0.1.4'到您的Podfile并运行pod install.
第2步: 实现此代码:
import UIKit
import youtube_ios_player_helper
class ViewController: UIViewController, YTPlayerViewDelegate {
@IBOutlet weak var playerView: YTPlayerView!
override func viewDidLoad() {
super.viewDidLoad()
playerView.delegate = self
let playerVars = ["playsinline": 1] // 0: will play video in fullscreen
self.playerView.loadWithVideoId("youtubeId", playerVars: playerVars)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
}
Run Code Online (Sandbox Code Playgroud)
注:在设置rel关键0在你的playerVars字典中,如果你不想显示相关视频:
let playerVars = ["playsinline":1, "rel" : 0 ]
迅捷3/4
您可以借助XCDYouTubeKit在AVPlayer中播放youtube视频。
加
pod'XCDYouTubeKit'
进入您的项目并编写如下代码
func playVideo() {
let playerViewController = AVPlayerViewController()
self.present(playerViewController, animated: true, completion: nil)
XCDYouTubeClient.default().getVideoWithIdentifier("KHIJmehK5OA") { (video: XCDYouTubeVideo?, error: Error?) in
if let streamURL = video?.streamURLs[XCDYouTubeVideoQuality.HD720.rawValue] {
playerViewController.player = AVPlayer(url: streamURL)
} else {
self.dismiss(animated: true, completion: nil)
}
}
}
Run Code Online (Sandbox Code Playgroud)
您可以通过替换XCDYouTubeVideoQuality来更改视频质量。HD720 .rawValue与medium360或Small240