私はAVPlayerのビデオフレームを画面サイズの75%のように設定し、透明性を利用して背景ビューを表示させようとしています。ビデオフレームを設定するAVPlayer
しかし、私は新しいVCのサイズを設定することができませんでした、それは常に全幅を取る。ここで
は私のコードです:
import AVKit
import AVFoundation
class VideoPlayer {
// ----------------------------------------------------------------------------------
// MARK: - Properties
// ----------------------------------------------------------------------------------
var videoName = "here video url"
let playerViewController = AVPlayerViewController()
// ----------------------------------------------------------------------------------
// MARK: - Setup
// ----------------------------------------------------------------------------------
func setupAndPlayVideo(sourceViewController: UIViewController) {
// Get video URL
let videoURL = urlForFile(videoName)
let player = AVPlayer(URL: videoURL!)
// Grey transparent background
playerViewController.view.backgroundColor = UIColor(red: 0.4, green: 0.4, blue: 0.4, alpha: 0.5)
// Prevent user from pausing/dismissign the video
playerViewController.showsPlaybackControls = false
// Present the video player VC and play video
playerViewController.player = player
// This does not change anything (sample hard coded values)
playerViewController.view.frame = CGRectMake(0, 0, 300, 300)
sourceViewController.presentViewController(playerViewController, animated: true) {
self.playerViewController.player!.play()
}
}
}
EDIT
だから私は自分の戦略を変更し、私のストーリーボードにAVPlayerViewControllerを追加することにしました。ここで
は、私は私のビデオを再生するために使用するコードです:
// Game over
case PapooSegue.GameEndSegue.rawValue:
// Get photo VC
let videoVC = segue.destinationViewController as! AVPlayerViewController
// Get video URL and provide it to the player
let videoName = papooBrain!.getGameOverVideoName()
let videoURL = urlForFile(videoName)
videoVC.player = AVPlayer(URL: videoURL!)
// Set grey/transparent background
videoVC.view.backgroundColor = UIColor(red: 0.5, green: 0.5, blue: 0.5, alpha: 0.6)
// Play video
videoVC.player?.play()
問題はまだ同じです。私はAVPlayerLayer as suggested in this postと遊ぶことを試みたが、私は2つの動画の再生になってしまった:
- 私は
- カスタムフレームと一つに推測videoGravityに延伸された1
Iドン私はこれらの演奏にどれだけ適切な大きさを持てるかを知っていません。
申し訳ありませんが、デフォルトでavplayerviewocntrollerを使用しています。この場合は、childviewcontrollerを使用して必要なものを取得する必要があります。 –
私はあなたの提案を得ることができないのではないかと恐れています。/ – H4Hugo
hmm、この場合は何かを試してみましょう:D。申し訳ありませんが私の間違いは答えたとき。 –