2017-01-13 4 views
0

Я добавил DemoVideo.mp4 в свой проект и добавил его для копирования файла ресурсов. Но когда я запускаю приложение, он не воспроизводит мое видео. Вот мой метод.AVPlayerViewController не воспроизводит локальные видео

private func setUpAndPlayVideo() { 
     guard let videoPath = Bundle.main.path(forResource: "DemoVideo.mp4", ofType: nil) else { 
      return 
     } 
     let videoURL = NSURL(string: videoPath) 
     let player = AVPlayer(url: videoURL! as URL) 
     playerViewController = AVPlayerViewController() 
     playerViewController.player = player 
     playerViewController.view.frame = self.videoPlayerView.bounds 
     self.videoPlayerView.addSubview(playerViewController.view) 
     playerViewController.showsPlaybackControls = false 
     playerViewController.player?.play() 
} 

Я применение этого метода в viewDidAppear методе, но отобразить это. Screenshot

+0

пожалуйста, убедитесь, что '' videoPath это правильный путь ... вы проверили на ноль. –

+0

Я также проверил видео-путь, и видео доступно в этом каталоге. "/Users/MyMac/Library/Developer/CoreSimulator/Devices/7237C529-CDE9-461C-BFE0-7EAF040DFE01/data/Containers/Bundle/Application/F452FD6B-2CEF-4704-B2E6-94F9F1662CAA/AlerisX.app/DemoVideo.mp4 « –

+0

- это преобразованный в NSURL? попробуйте распечатать 'videoURL! ' –

ответ

1
let path : String = Bundle.main.path(forResource: "charlie", ofType: "mp4")! 
let movieurl : URL = URL(fileURLWithPath: path) 
let movie : AVPlayerViewController = AVPlayerViewController() 
movie.view.frame = self.view.bounds 

let player : AVPlayer = AVPlayer(url: movieurl) 
movie.player = player 

self.view.addSubview(movie.view) 
player.play() 
+0

Совет: лучше использовать 'Bundle.main.url' прямо сейчас. – Moritz

+0

@ ЭрикАя спасибо за предложение. –

Смежные вопросы