forked from mirrors/linphone-iphone
Check if url can be created in createThumbnailOfVideoFromFileURL (MultilineMessageCell and ChatConversationViewModel)
This commit is contained in:
parent
ae974b933c
commit
392d218c4f
2 changed files with 29 additions and 17 deletions
|
|
@ -473,16 +473,20 @@ class ChatConversationViewModel: ControlsViewModel {
|
|||
}
|
||||
return UIImage(named: "chat_error")!
|
||||
}
|
||||
|
||||
|
||||
func createThumbnailOfVideoFromFileURL(videoURL: String) -> UIImage? {
|
||||
let asset = AVAsset(url: URL(string: videoURL)!)
|
||||
let assetImgGenerate = AVAssetImageGenerator(asset: asset)
|
||||
assetImgGenerate.appliesPreferredTrackTransform = true
|
||||
do {
|
||||
let img = try assetImgGenerate.copyCGImage(at: CMTimeMake(value: 1, timescale: 10), actualTime: nil)
|
||||
let thumbnail = UIImage(cgImage: img)
|
||||
return thumbnail
|
||||
} catch _{
|
||||
if let urlVideo = URL(string: videoURL){
|
||||
let asset = AVAsset(url: urlVideo)
|
||||
let assetImgGenerate = AVAssetImageGenerator(asset: asset)
|
||||
assetImgGenerate.appliesPreferredTrackTransform = true
|
||||
do {
|
||||
let img = try assetImgGenerate.copyCGImage(at: CMTimeMake(value: 1, timescale: 10), actualTime: nil)
|
||||
let thumbnail = UIImage(cgImage: img)
|
||||
return thumbnail
|
||||
} catch _{
|
||||
return nil
|
||||
}
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1243,14 +1243,22 @@ class MultilineMessageCell: SwipeCollectionViewCell, UICollectionViewDataSource,
|
|||
}
|
||||
|
||||
func createThumbnailOfVideoFromFileURL(videoURL: String) -> UIImage? {
|
||||
let asset = AVAsset(url: URL(string: "file://" + videoURL.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!)!)
|
||||
let assetImgGenerate = AVAssetImageGenerator(asset: asset)
|
||||
assetImgGenerate.appliesPreferredTrackTransform = true
|
||||
do {
|
||||
let img = try assetImgGenerate.copyCGImage(at: CMTimeMake(value: 1, timescale: 10), actualTime: nil)
|
||||
let thumbnail = UIImage(cgImage: img)
|
||||
return thumbnail
|
||||
} catch _{
|
||||
if let urlEncoded = videoURL.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed){
|
||||
if let urlVideo = URL(string: "file://" + urlEncoded){
|
||||
let asset = AVAsset(url: urlVideo)
|
||||
let assetImgGenerate = AVAssetImageGenerator(asset: asset)
|
||||
assetImgGenerate.appliesPreferredTrackTransform = true
|
||||
do {
|
||||
let img = try assetImgGenerate.copyCGImage(at: CMTimeMake(value: 1, timescale: 10), actualTime: nil)
|
||||
let thumbnail = UIImage(cgImage: img)
|
||||
return thumbnail
|
||||
} catch _{
|
||||
return nil
|
||||
}
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
} else {
|
||||
return nil
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue