使用swift播放视频2 IOS 9
问题描述:
我正在寻找一个示例或从我的应用程序使用AVKIT播放视频的源代码。我找不到使用新版Swift 2(IOS 9)的例子。由于MPmovieplayercontroller已在IOS 9中弃用。任何帮助将不胜感激。使用swift播放视频2 IOS 9
答
您可以使用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'''的屏幕外观和电影帧大小。并且需要澄清你如何添加电影来回答评论的第二部分 –
欢迎堆栈溢出!请阅读指南[我如何提出一个好问题](http://stackoverflow.com/help/how-to-ask),尤其是关于最小,完整和可验证示例(MCVE)的部分。这将帮助你为自己解决问题。如果你这样做,仍然卡住,你可以回来发布你的MCVE,你试过的,以及结果是什么,所以我们可以更好地帮助你。 – JeffC