相关疑难解决方法(0)

使用Swift从视频中抓取帧

我想在特定时间从视频中抓取帧.我正在调用我的抓帧功能,其时间指定为秒为Float64.问题是它没有抓住当前帧.它似乎忽略了小数.如果我用例如1.22和1.70调用该函数,它将返回相同的帧.对于Swift来说,我是新手,所以我猜我没有把CMTime对象弄好.所以有人能看出这有什么问题吗?

func generateThumnail(url : NSURL, fromTime:Float64) -> UIImage {
    var asset :AVAsset = AVAsset.assetWithURL(url) as! AVAsset
    var assetImgGenerate : AVAssetImageGenerator = AVAssetImageGenerator(asset: asset)
    assetImgGenerate.appliesPreferredTrackTransform = true
    var error       : NSError? = nil
    var time        : CMTime = CMTimeMakeWithSeconds(fromTime, 600)        
    var img         : CGImageRef = assetImgGenerate.copyCGImageAtTime(time, actualTime: nil, error: &error)
    var frameImg    : UIImage = UIImage(CGImage: img)!
    return frameImg
}

var grabTime = 1.22
img = generateThumnail(urlVideo, fromTime: Float64(grabTime)) 
Run Code Online (Sandbox Code Playgroud)

video avfoundation swift

6
推荐指数
1
解决办法
6389
查看次数

标签 统计

avfoundation ×1

swift ×1

video ×1