ゲームの最後に短いビデオを再生する必要があります。
前のビュー コントローラーからのセグエを使用して、モーダル プレゼンテーションでストーリーボードに AVPlayerViewController を作成しました。
ただし、ビデオが画面全体をカバーしないようにします。画面サイズの 50% (中央) としましょう。
これが私が試したコードです:
import AVKit
import AVFoundation
import UIKit
class VideoPlayerViewController: AVPlayerViewController {
override func viewDidLoad() {
super.viewDidLoad()
}
override func viewDidAppear(animated: Bool) {
// Play video
player?.play()
}
override func viewDidLayoutSubviews() {
print(videoBounds)
self.view.bounds = videoBounds
}
}
問題は、画面全体のビデオ スケールが非常に小さいことです (約 100*70px など)。デフォルトのサイズはある時点で 100*100 であり、ビデオの比率に合わせてスケーリングされると思います。
境界を指定しないと、画面全体にスケーリングされます (ビデオの重力により選択できません)。
viewDidLayoutSubviews でビュー全体のサイズを小さくしても、このメソッドが複数回呼び出されるため、ビューの境界を変更し続けるため、まだ問題があります。
AVPlayerViewController を使用して画面の一部にローカル ビデオを表示するのがどれほど難しいか信じられません...
助けはありますか?