//
// ViewController.swift
// avfoundation005
//
// Copyright © 2016年 FaBo, Inc. All rights reserved.
//
import UIKit
import AVFoundation
import AssetsLibrary
class ViewController: UIViewController {
override func viewDidLoad() {
// パスからassetを生成.
let path = Bundle.main.path(forResource: "test", ofType: "mov")
let fileURL = URL(fileURLWithPath: path!)
let avAsset = AVURLAsset(url: fileURL, options: nil)
// assetから画像をキャプチャーする為のジュネレーターを生成.
let generator = AVAssetImageGenerator(asset: avAsset)
generator.maximumSize = self.view.frame.size
// 動画の指定した時間での画像を得る(今回は動画の最後のキャプチャを撮る).
let capturedImage = try! generator.copyCGImage(at: avAsset.duration, actualTime: nil)
// 静止画用のImageViewを生成.
let imageView = UIImageView(frame: self.view.frame)
imageView.image = UIImage(cgImage: capturedImage)
print(avAsset.duration)
// imageViewをviewに追加.
self.view.addSubview(imageView)
}
}
//
// ViewController.swift
// avfoundation005
//
// Copyright © 2016年 FaBo, Inc. All rights reserved.
//
import UIKit
import AVFoundation
import AssetsLibrary
class ViewController: UIViewController {
override func viewDidLoad() {
// パスからassetを生成.
let path = NSBundle.mainBundle().pathForResource("test", ofType: "mov")
let fileURL = NSURL(fileURLWithPath: path!)
let avAsset = AVURLAsset(URL: fileURL, options: nil)
// assetから画像をキャプチャーする為のジュネレーターを生成.
let generator = AVAssetImageGenerator(asset: avAsset)
generator.maximumSize = self.view.frame.size
// 動画の指定した時間での画像を得る(今回は動画の最後のキャプチャを撮る).
let capturedImage = try! generator.copyCGImageAtTime(avAsset.duration, actualTime: nil)
// 静止画用のImageViewを生成.
let imageView = UIImageView(frame: self.view.frame)
imageView.image = UIImage(CGImage: capturedImage)
print(avAsset.duration)
// imageViewをviewに追加.
self.view.addSubview(imageView)
}
}