16

ビュー コントローラの他の要素をカスタマイズするためにビュー コントローラ内に n avplayer を配置していますが、AVPlayerViewController で使用される再生およびスクラブ コントロールが必要です。AvPlayerViewcontroller を使用していないときに、Avplayer でこれらのコントロールを有効にする方法はありますか?

4

3 に答える 3

33

いいえ。通常の解決策 (Apple から明示的に推奨されています) は、AVPlayerViewController を組み込みのビュー コントローラーとして使用することです。つまり、ビュー コントローラーをカスタムの親ビュー コントローラーにし、AVPlayerViewController をその子にすると、そのビュー (ムービーとビュー内のコントロール) を適切な順序でサブビューとして表示します。例(selfはView Controllerです):

let url = // whatever
let player = AVPlayer(URL:url)
let avPlayerViewController = AVPlayerViewController()
avPlayerViewController.player = player
avPlayerViewController.view.frame = // whatever
self.addChild(avPlayerViewController)
self.view.addSubview(avPlayerViewController.view)
avPlayerViewController.didMove(toParent: self)
于 2015-11-12T17:32:05.833 に答える
2

この投稿を Swift 5 で更新するには、次のコードを試すことができます。

let videoURL = URL(string: "https://your_video_in_internet.mp4")
let player = AVPlayer(url: videoUrl)
let playerViewController: AVPlayerViewController!
playerViewController = AVPlayerViewController()
playerViewController.view.frame = YOUR_FRAME_OR_EMBED_IN_STORYBOARD
playerViewController.player = player
playerViewController.showsPlaybackControls = true
playerViewController.videoGravity = .resizeAspectFill
YOUR_FRAME_OR_EMBED_IN_STORYBOARD.addSubview(playerViewController.view)
playerViewController.player!.play()  
于 2020-05-20T19:18:55.740 に答える