1

カスタムの画像/ビデオ ピッカーを使用してタイム ラプスを選択しています。ピッカー ビューを閉じたら、インターフェイス ビルダーでビュー コントローラーに配置した UIView 内でタイム ラプスを再生したいと考えています。私が現在持っているこのコードは以下にありますが、問題はタイムラプスが選択された瞬間に再生されないことです。

ビデオ プレーヤーのアウトレットと変数を表示する

@IBOutlet var videoView: UIView!
let ipc = QBImagePickerController()
var playerItem: AVPlayerItem?
var videoPlayer: AVPlayer?
var playerLayer: AVPlayerLayer?

資産コードの選択は完了しましたか

func qb_imagePickerController(imagePickerController: QBImagePickerController, didFinishPickingAssets assets: [AnyObject]) {
    for asset in assets as! [PHAsset] {
        PHImageManager.defaultManager().requestAVAssetForVideo(asset, options: nil, resultHandler: {(avAsset: AVAsset?, audioMix: AVAudioMix?, info: [NSObject : AnyObject]?) -> Void in
            self.playerItem = AVPlayerItem(asset: avAsset!)
            self.videoPlayer = AVPlayer(playerItem: self.playerItem!)
            self.playerLayer = AVPlayerLayer(player: self.videoPlayer)
            self.playerLayer!.frame = self.videoView.bounds
        })
    }
    self.dismissViewControllerAnimated(true, completion: { self.play() })
}

play() 関数コード

func play(){

    videoPlayer!.play()
}

オプションの値をアンラップするときに予期せず nil が見つかりました ここに画像の説明を入力

4

1 に答える 1