我在那里看到很多主题并且总是存在同样的问题:它根本没有显示。
因为我很顽固,我想更多
这是我的代码:
let moviePath = NSBundle.mainBundle().pathForResource("back", ofType:"mp4");
println(moviePath!)
let movieURL = NSURL.fileURLWithPath(moviePath!)
let theMoviePlayer = MPMoviePlayerController(contentURL: movieURL!)
self.view.addSubview(theMoviePlayer.view)
theMoviePlayer.prepareToPlay()
theMoviePlayer.shouldAutoplay = true
theMoviePlayer.fullscreen = true
theMoviePlayer.play()
我检查过,我在应用程序的捆绑资源中有电影文件。 视频尺寸:640×360像素
那么它可以来自哪里?
我忘了重要的事吗?
修改
这个新代码有效,但总是存在一些问题:
let url = NSBundle.mainBundle().URLForResource("back", withExtension: ".mp4")
let player = MPMoviePlayerViewController(contentURL: url)
presentMoviePlayerViewControllerAnimated(player)
player.moviePlayer.prepareToPlay()
player.moviePlayer.repeatMode = MPMovieRepeatMode.One
player.moviePlayer.shouldAutoplay = true
player.moviePlayer.play()
它以横向视图显示视频,而不是全屏。
答案 0 :(得分:1)
这就是我在其中一个应用中的表现。您可能需要调用presentMoviePlayerViewControllerAnimated()并传入MPMoviePlayerViewController,而不是执行addSubview。
let url = NSBundle.mainBundle().URLForResource("back", withExtension: ".mp4")
let player = MPMoviePlayerViewController(contentURL: url)
presentMoviePlayerViewControllerAnimated(player)
player.prepareToPlay()
player.shouldAutoplay = true
player.fullscreen = true
player.moviePlayer.play()
答案 1 :(得分:0)
**已解决**
我决定加上一行:
player.moviePlayer.view.transform = CGAffineTransformMakeRotation(CGFloat(M_PI / 2))
当然,它会轮播视频。所以如果它是一个简单的背景动画像云或简单的东西,它没关系。
答案 2 :(得分:0)
如果视频的内容类型没有问题,请调用以下功能。它只是有效。 :)
private func presentVideoVC(){
var url: NSURL = NSURL(string: "http://jplayer.org/video/m4v/Big_Buck_Bunny_Trailer.m4v")!
var moviePlayerVC: MPMoviePlayerViewController! = MPMoviePlayerViewController(contentURL: url)
self.presentMoviePlayerViewControllerAnimated(moviePlayerVC)
}
答案 3 :(得分:0)
我的两分钱:
如果ios9使用https ..(或添加例外......不好。) 不要直接调用viewDidload,它不起作用,调用异步等待一段时间,允许设置控制器:
dispatch_async(dispatch_get_main_queue()){
self.playIt()
}
func playIt() {
let urlString = "https://www.ingconti.com/softysit/Spinelli_short.mp4"
let url: NSURL = NSURL(string: urlString)!
let moviePlayerVC: MPMoviePlayerViewController! = MPMoviePlayerViewController(contentURL: url)
moviePlayerVC.moviePlayer.shouldAutoplay = true
self.presentMoviePlayerViewControllerAnimated(moviePlayerVC)
}
请注意,现在不推荐使用MPMoviePlayerViewController。