longitachi / ZLPhotoBrowser

Wechat-like image picker. Support select photos, videos, gif and livePhoto. Support edit image and crop video. 微信样式的图片选择器,支持预览/相册内拍照及录视频、拖拽/滑动选择,编辑图片/视频,支持多语言国际化等功能;
MIT License
4.76k stars 963 forks source link

无法播放app本地视频 #744

Closed edwardlao closed 2 years ago

edwardlao commented 2 years ago

datas: Must be one of PHAsset, UIImage and URL, will filter others in init function.

let videoSuffixs = ["mp4", "mov", "avi", "rmvb", "rm", "flv", "3gp", "wmv", "vob", "dat", "m4v", "f4v", "mkv"] // and more suffixs let vc = ZLImagePreviewController(datas: datas, index: 0, showSelectBtn: false) { (url) -> ZLURLType in if let sf = url.absoluteString.split(separator: ".").last, videoSuffixs.contains(String(sf)) { return .video } else { return .image } }

是不是只能播放网络上的视频,不能播放app里存放的视频? 我选择完图片视频后会保存在app的document目录下,调用ZLImagePreviewController只能显示图片,但视频就无法显示了

longitachi commented 2 years ago

你保存的是什么格式的,你调试下看看判断是否视频的方法走了没。 也可以看看直接系统播放器试试能不能播放

edwardlao commented 2 years ago

你好,我的视频是用手机录的,然后保存在app的Documents目录下, datas: Must be one of PHAsset, UIImage and URL, will filter others in init function. 我看这里写了支持UIImage和网上的URL地址,我是不是要用PHAsset来播放我App里的视频

longitachi commented 2 years ago

支持URL传入,你调试下看下你的URL是什么,可以打出来log,然后看下这段代码是否走到了 return .video

if let sf = url.absoluteString.split(separator: ".").last, videoSuffixs.contains(String(sf)) {
    return .video
} else {
    return .image
}

如果走到了,播放逻辑在这块,调试看下 https://github.com/longitachi/ZLPhotoBrowser/blob/e344bd94ea2fcb6a60ac7dce830675cfe3626760/Sources/General/ZLPhotoPreviewCell.swift#L792-L806

edwardlao commented 2 years ago

你好,这里的URL是指网上的视频地址吗,http://这样的地址吗,我要播放我App里的视频哦,不是http上也不是相册里的视频,是我存放在我的App里的视频

longitachi commented 2 years ago

你沙盒的视频不也是有URL吗。。。。

edwardlao commented 2 years ago

你好,已经弄好了,谢谢你的解答