2017-12-19 7 views
0

私は、ユーザーがボタンを選択すると動画を表示するアプリがあります。ビデオプレーヤーが読み込まれるとコードが動作しているように見えます。 NSAllowsArbitraryLoadsを含めるようにNSAppTransportSecurity設定を変更しました。特定のビデオに問題があるかどうかを確認するためにいくつかのビデオをハードコーディングしましたが、うまくいきません。ここでコードは、どんな助けも大歓迎です。基本的にはこれが正常に動作します動画はアプリで再生されません

@IBAction func playVideo(_ sender: Any) { 
    func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

     let destination = segue.destination as! AVPlayerViewController 
     let url = URL(string: 
      "http://www.ebookfrenzy.com/ios_book/movie/movie.mov") 

     if let movieURL = url { 
      destination.player = AVPlayer(url: movieURL) 
     } 
     let player = AVPlayer(url: url!) 
     let playerController = AVPlayerViewController() 

     playerController.player = player 
     self.addChildViewController(playerController) 
     self.view.addSubview(playerController.view) 
     playerController.view.frame = self.view.frame 

     player.play() 
    } 
+0

はなぜ '用意され(セグエのために:)' 'あなたのIBAction'で入れ子になりましたか? 'IBAction'からセグを実行し、' prepare(for segue:) '関数を' UIViewController'サブクラススコープに移動する必要があります。 – JAL

+0

ありがとうございましたJAL、プレイヤーがまだそこにロードされていないので、あなたはそれは必要ではありません。残念ながら、ビデオ自体はまだいずれの方法で再生されません。 – techgirl

答えて

2

func playVideo() { 

    let url = URL(string: "http://www.ebookfrenzy.com/ios_book/movie/movie.mov") 
    let player = AVPlayer(url: url!) 
    let playerController = AVPlayerViewController() 

    playerController.player = player 
    self.addChildViewController(playerController) 
    self.view.addSubview(playerController.view) 
    playerController.view.frame = self.view.frame 

    player.play() 

} 
関連する問題