2

我正在尝试将视频添加为背景,但它不起作用。

这是我正在使用的代码:

import UIKit
import MediaPlayer
import AVFoundation
import AVKit
import MediaPlayer

class WelcomeViewController: UIViewController {

    let moviePlayerController = AVPlayerViewController()
    var aPlayer = AVPlayer()
    func playBackgroundMovie(){
        if let url = NSBundle.mainBundle().URLForResource("WelcomeVideo", withExtension: "mp4") {
            aPlayer = AVPlayer(URL: url)
        }
        moviePlayerController.player = aPlayer
        moviePlayerController.view.frame = view.frame
        moviePlayerController.videoGravity = AVLayerVideoGravityResizeAspectFill
        moviePlayerController.view.sizeToFit()
        moviePlayerController.videoGravity = AVLayerVideoGravityResizeAspect
        moviePlayerController.showsPlaybackControls = false
        moviePlayerController.view.userInteractionEnabled = false
        aPlayer.play()
        view.insertSubview(moviePlayerController.view, atIndex: 0)
    }

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.

        self.moviePlayerController.view.backgroundColor = UIColor.grayColor()

        playBackgroundMovie()
        NSNotificationCenter.defaultCenter().addObserver(self, selector: "didPlayToEndTime", name: AVPlayerItemDidPlayToEndTimeNotification, object: nil)
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func didPlayToEndTime(){
        aPlayer.seekToTime(CMTimeMakeWithSeconds(0, 1))
        aPlayer.play()
    }
}

当我运行我的应用程序时,它崩溃为:

aPlayer = AVPlayer(URL: url!)

我还在我的项目中添加了“WelcomeVideo.mp4”:

在此处输入图像描述

正如您在图像上看到的那样,“WelcomeVideo.mp4”就在当前视图控制器类的旁边......我在这里做错了什么?

4

2 回答 2

2

自己修好了!忘了我必须将它添加到Build Phases的Copy Bundle Resorces中。

于 2016-01-14T01:08:06.373 回答
1
if let filePath = Bundle.main.path(forResource: "small", ofType: ".mp4") {
    let filePathURL = NSURL.fileURL(withPath: filePath)
    let player = AVPlayer(url: filePathURL)
    let playerController = AVPlayerViewController()
    playerController.view.backgroundColor = UIColor.red
    playerController.player = player
    self.present(playerController, animated: true) {
        player.play()
    }
}
于 2017-04-08T10:21:33.027 回答