Я пытаюсь добавить видео в качестве фона, но оно не работает.Видео как фон
Это код, я использую:
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» в моем проекте также :
Как вы можете видеть на изображении, «Welcom eVideo.mp4 "находится прямо рядом с классом контроллера текущего вида ... Что я здесь делаю неправильно?
Я просто пишу, что в моем ответе :) В любом случае, еще одна вещь, которую вы должны иметь в виду, что вы не должны использовать принудительный разворачивания, когда вы не совсем уверены, что вернулся, что значение не ноль (функция URLForResource возвращает NSURL?, который является необязательным и может быть nil). Вместо этого вы должны использовать необязательное связывание, чтобы безопасно получить доступ к необязательному. – Whirlwind
@Whirlwind - Вы имеете в виду, как я сделал сейчас? (Проверить вопрос для обновленного кода) –
@Whirlwind Я быстро вопрос. WelcomeVideo.mp4 - это просто взгляд, а не звук, но когда я пишу музыку из музыкального приложения или Spotify, моя текущая музыка останавливается, когда этот плеер показывает. Как я могу это предотвратить? –