2015-07-30 3 views
0

Я пытаюсь воспроизвести видео в контроллере представления при входе в него, но получить одну ошибку, указанную ниже. Не слишком хорошо знакомы с воспроизведением видео, так оно и есть должен быть в viewcontroller и как я могу исправить эту ошибку? Видео сохраняется в xcode. Благодарю.Ошибка при попытке воспроизведения видео в Xcode 7/Swift 2

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. 
} 



} 

UPDATE Правильный код:

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() 
} 
} 

ответ

1

Это было «полная перезапись».

Следующая сделали работу:

Добавить «AVKit.framework» к «Build Фаз» -> «Ссылка Двоичные с библиотеками» в настройках проекта.

В раскадровке измените личность вашего 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() 
    } 
} 
+0

так, что бы код выглядит? – yzet00

+0

См. Фигурные скобки '{' и '}' Я цитирую выше? Удалите их из своего кода. Используйте auto-reindent, если впоследствии вы смутитесь. Скомпилируйте и будьте счастливы. – BaseZen

+0

Я не получаю никаких ошибок, но когда я открываю контроллер представления в симуляторе, это просто белый экран – yzet00

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