当我输入视频时,我试图在 View Controller 中播放视频,但出现一个错误,如下所列。对视频播放不太熟悉,所以它应该在 View Controller 中吗?我该如何解决错误?视频存储在 xcode 中。谢谢。
import UIKit
import MediaPlayer
import AVFoundation
class AuroraViewController: UIViewController {
@IBOutlet var AuroraViewController: UIView!
var moviePlayer: AVPlayer?
private func playVideo() {
if let path = NSBundle.mainBundle().pathForResource("Aurora", ofType:"mp4") {
let url = NSURL(fileURLWithPath: path)
下面一行是我得到错误的地方:表达式类型不明确,没有更多上下文
moviePlayer = AVPlayer(contentURL: url) {
self.moviePlayer = moviePlayer
moviePlayer.AuroraViewController.frame = self.AuroraViewController.bounds
moviePlayer.prepareToPlay()
moviePlayer.scalingMode = .AspectFill
self.AuroraViewController.addSubview(moviePlayer.view)
}
} else {
debugPrint("Ops, something wrong when playing video.m4v")
}
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.
playVideo()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}
更新 正确代码:
import UIKit
import AVFoundation
import AVKit
class AuroraViewController: AVPlayerViewController {
private func playVideo() {
if let path = NSBundle.mainBundle().pathForResource("Aurora", ofType: "mp4") {
let url = NSURL(fileURLWithPath: path)
player = AVPlayer(URL: url)
}
else {
println("Oops, could not find resource Aurora.mp4")
}
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
playVideo()
}
}
最佳答案
这是“完全重写”。
以下内容完成了工作:
将“AVKit.framework”添加到项目设置中的“Build Phases”->“Link Binary With Libraries”。
在 Storyboard 中,将 UIViewController
的标识更改为 AuroraViewController。
生成的代码就是所需要的:
import UIKit
import AVFoundation
import AVKit
class AuroraViewController: AVPlayerViewController {
private func playVideo() {
if let path = NSBundle.mainBundle().pathForResource("Aurora", ofType: "mp4") {
let url = NSURL(fileURLWithPath: path)
player = AVPlayer(URL: url)
}
else {
println("Oops, could not find resource Aurora.mp4")
}
}
override func viewDidAppear(animated: Bool) {
super.viewDidAppear(animated)
playVideo()
}
}
关于ios - 尝试在 Xcode 7/Swift 2 中播放视频时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31728052/