

swift3で動画再生をしています。デフォルトであるコントロールバーを表示してシークなどさせたいと思っていますが、下記のようなサンプルコードを動かしてみました。  
動画をタップしてもコントロールバーの表示ができません。何かパラメータなど必要なのでしょうか。  
ご存知の方はご教示お願いします。

[code]

    let videoURL = NSURL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")
    let player = AVPlayer(url: videoURL! as URL)
    let playerLayer = AVPlayerLayer(player: player)
    playerLayer.frame = self.view.bounds
    self.view.layer.addSublayer(playerLayer)
    player.play()
    
[/code]


CC BY-SA 3.0
2017-01-24T11:45:17.803
32116
2017-10-23T03:28:19.167
8593
question
swift
swift3での動画再生時にコントロールバーを使いたい


iOSでの`AVPlayer`クラスはMVCで言うところのController要素にあたり、表示画面(あなたのコードなら`AVPlayerLayer`)や再生ボタンなどを置いたコントロールバーなどのView要素は含まれておらず、他の要素と組み合わせて使うことが想定されたクラスです。

システム標準のコントロールバーで良いのなら、`AVPlayer`単独ではなく`AVPlayerViewController`と組み合わせて使うことになります。

[code]

        let videoURL = URL(string: "https://clips.vorwaerts-gmbh.de/big_buck_bunny.mp4")!
        let player = AVPlayer(url: videoURL)
        let playerVC = AVPlayerViewController()
        playerVC.player = player
        player.play()
        present(playerVC, animated: true, completion: nil)
    
[/code]

`AVPlayerViewController`はstoryboardに配置することもできる(storyboardエディター上は「AVKit Player
View
Controller」と表示される)ので、細かい書き方にはいろいろバリエーションがありますが、普通に「`AVPlayerViewController`」で検索すれば、日本語の記事も多数見つかるので、その中から使いやすそうなコードを探されれば良いでしょう。


CC BY-SA 3.0
2017-01-24T12:30:55.183
32118
2017-01-24T12:30:55.183
13972
32116
answer