2015-10-19 190 views
3

我正在尋找一個示例或從我的應用程序使用AVKIT播放視頻的源代碼。我找不到使用新版Swift 2(IOS 9)的例子。由於MPmovieplayercontroller已在IOS 9中棄用。任何幫助將不勝感激。使用swift播放視頻2 IOS 9

+1

歡迎堆棧溢出!請閱讀指南[我如何提出一個好問題](http://stackoverflow.com/help/how-to-ask),尤其是關於最小,完整和可驗證示例(MCVE)的部分。這將幫助你爲自己解決問題。如果你這樣做,仍然卡住,你可以回來發佈你的MCVE,你試過的,以及結果是什麼,所以我們可以更好地幫助你。 – JeffC

回答

8

您可以使用AVPlayerViewController類提供的iOS 8.0及更高版本:

import UIKit 
import AVKit 
import AVFoundation 

class ViewController: UIViewController { 

    override func viewDidAppear(animated: Bool) { 
     super.viewDidAppear(animated) 

     let moviePath = NSBundle.mainBundle().pathForResource("sample_iPod", ofType: "m4v") 
     if let path = moviePath { 
      let url = NSURL.fileURLWithPath(path) 
      let player = AVPlayer(URL: url) 
      let playerViewController = AVPlayerViewController() 
      playerViewController.player = player 
      self.presentViewController(playerViewController, animated: true) { 
       if let validPlayer = playerViewController.player { 
        validPlayer.play() 
       } 
      } 
     } 

    } 
} 

編輯:

這是你如何能在播放影片時,無需額外的屏幕和自定義尺寸:

let url = NSURL.fileURLWithPath(path) 
    let player = AVPlayer(URL: url) 
    let playerViewController = AVPlayerViewController() 
    playerViewController.player = player 

    playerViewController.view.frame = CGRectMake(20, 50, 300, 300) 
    self.view.addSubview(playerViewController.view) 
    self.addChildViewController(playerViewController) 

    player.play() 
+0

感謝它的工作。如何自定義視頻以在特定尺寸的現有屏幕上播放,而不是打開新的Avplayer屏幕。此外,視頻被放置在資產文件夾內,並在該包中提供參考,但無法找到視頻,我必須手動添加對包中視頻的引用,而不是僅引用資產文件夾。 – Dave

+0

編輯我的答案更新'''playerViewController'''的屏幕外觀和電影幀大小。並且需要澄清你如何添加電影來回答評論的第二部分 –