[Xcode 實際操做]6、媒體與動畫-(17)使用MediaPlayer框架播放視頻

目錄:[Swift]Xcode實際操做html

本文將演示視頻的播放功能。swift

在項目名稱上點擊鼠標右鍵,彈出右鍵菜單,框架

選擇【Add Files to "DemoApp"】,往項目中導入文件命令。ide

點擊選擇一個影片素材->【Add】post

在項目導航區,打開視圖控制器的代碼文件【ViewController.swift】編碼

 1 import UIKit
 2 //AVFoundation框架用來處理基於時間的媒體數據。
 3 //能夠用來檢查、建立、編輯或是從新編碼媒體文件。
 4 //也能夠從設備中獲取輸入流
 5 //在視頻實時播放時操做和回放
 6 import AVFoundation
 7 
 8 class ViewController: UIViewController {
 9     
10     override func viewDidLoad() {
11         super.viewDidLoad()
12         // Do any additional setup after loading the view, typically from a nib.
13         
14         //獲取在應用程序的主目錄中,視頻文件的所在路徑
15         let moviePath = Bundle.main.path(forResource: "movie", ofType: "mp4")
16         //將字符串路徑,轉換爲網址路徑
17         let movieURL = URL(fileURLWithPath: moviePath!)
18         
19         //對視頻播放對象進行初始化,並加載指定的視頻文件。
20         //該對象提供了控制播放器傳輸行爲的界面。
21         //例如播放、暫停、改變播放速度的能力,
22         //以及在媒體時間線內,尋找各個時間點的能力
23         let avPlayer = AVPlayer(url: movieURL as URL)
24         //視頻播放對象自己並不顯示視頻,
25         //若是要顯示視頻內容,必須建立一個播放器圖層對象。
26         let avPlayerLayer = AVPlayerLayer(player: avPlayer)
27         //設置視頻播放器的窗口大小,匹配視圖控制器的根視圖。
28         avPlayerLayer.frame = self.view.bounds
29         //保留視頻的寬高比,並對視頻進行縮放,以填滿層的範圍區域。
30         avPlayerLayer.videoGravity = AVLayerVideoGravity.resizeAspectFill
31         //將視頻播放層,添加到當前視圖控制器的根視圖的層中
32         self.view.layer.addSublayer(avPlayerLayer)
33         
34         //調用視頻播放對象的播放方法,開始播放視頻
35         avPlayer.play()
36     }
37 }
相關文章
相關標籤/搜索