2015-10-19 186 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'''的屏幕外观和电影帧大小。并且需要澄清你如何添加电影来回答评论的第二部分 –