2017-02-23 55 views
2

我通過AVAssetImageGenerator收到了遠程視頻的高/中質量縮略圖,但仍需10到15秒才能獲得縮略圖。
有什麼方法可以立即獲得低質量的縮略圖嗎?
以下代碼我用來獲取遠程視頻的縮略圖。
奇怪的是,當我下載這個視頻它的大小是1.1 MB和創建縮略圖大小是1.8 MB。如何立即使用AVAssetImageGenerator獲得低質量的遠程視頻縮略圖

let assetForThumbnail = AVAsset(URL: videoURL) 
let durationSeconds = CMTimeGetSeconds(assetForThumbnail.duration) 
let generator = AVAssetImageGenerator(asset: assetForThumbnail) 
generator.appliesPreferredTrackTransform = true 
let time = CMTime(seconds: durationSeconds/3.0, preferredTimescale: 600) 

generator.generateCGImagesAsynchronouslyForTimes([NSValue(CMTime: time)]) { (requestedTime: CMTime, thumbnail: CGImage?, actualTime: CMTime, result: AVAssetImageGeneratorResult, error: NSError?) in 
    print("error: \(error)") 
    print("status: \(result)") 

    if let thumbnailC = thumbnail { 
      let image = UIImage(CGImage: thumbnailC) 
    } 

} 

回答

1

嘗試設置AVAssetImageGeneratormaximumSize屬性是這樣的:

generator.maximumSize = CGSize(寬度:320,高度:320)

+0

HI維拉德,我試了前。它沒有奏效。 – KiranJasvanee

+0

如果問題不是質量問題,但需要花費時間進行操作,您可能需要檢查以下答案:http://stackoverflow.com/a/10225553/1502621 – Vlad

+0

Hi Vlad,我瞭解您的觀點,並嘗試了您的觀點鏈接和答案。而我嘗試過的** pascalbros **回答,但仍然在同一時間。和** Nimit Parekh **答案將無濟於事,因爲MPMoviePlayerController在9.0上不推薦使用 – KiranJasvanee