From 529f3c6b775dc75869f978f7403ac50c5343b4e4 Mon Sep 17 00:00:00 2001 From: 杨锴 <841720330@qq.com> Date: 星期五, 08 十一月 2024 21:34:06 +0800 Subject: [PATCH] fix bug --- XQMuse/Root/Other/View/VideoView.swift | 29 ++++++++++++++++++++++++----- 1 files changed, 24 insertions(+), 5 deletions(-) diff --git a/XQMuse/Root/Other/View/VideoView.swift b/XQMuse/Root/Other/View/VideoView.swift index 8d81974..863db7c 100644 --- a/XQMuse/Root/Other/View/VideoView.swift +++ b/XQMuse/Root/Other/View/VideoView.swift @@ -32,7 +32,7 @@ return p }() - required init(url:String? = nil,autoPlay:Bool = false,placeHoderImageUrl:String? = nil,delegate:CLPlayerDelegate? = nil) { + required init(url:String? = nil,autoPlay:Bool = false,placeHoderImageUrl:String? = nil,needFirstImage:Bool = false,delegate:CLPlayerDelegate? = nil) { super.init(frame: .zero) addSubview(player) player.delegate = delegate @@ -40,13 +40,24 @@ make.edges.equalToSuperview() } self.placeHoderImageUrl = placeHoderImageUrl - if placeHoderImageUrl != nil{ + if placeHoderImageUrl != nil && needFirstImage == false{ addPlaceHoderView(placeHoderImage: placeHoderImageUrl!) } if let Url = URL(string: url){ self.url = url player.url = Url + + if needFirstImage{ + URL.jq_splitVideoFileUrlFps(splitFileUrl: Url, fps: 1) {[weak self] state, images in + if let first = images.first{ + DispatchQueue.main.async { + self?.addPlaceHoderView(firstFPSImage: first) + } + } + } + } + if autoPlay{ player.play() } @@ -69,14 +80,22 @@ } } - private func addPlaceHoderView(placeHoderImage:String){ + private func addPlaceHoderView(placeHoderImage:String? = nil,firstFPSImage:UIImage? = nil){ let placeV = UIView() placeV.backgroundColor = .black placeV.frame = player.frame let imageView = UIImageView() - imageView.sd_setImage(with: URL(string: placeHoderImage)) - imageView.contentMode = .scaleAspectFill + + if placeHoderImage != nil{ + imageView.sd_setImage(with: URL(string: placeHoderImage)) + } + + if firstFPSImage != nil{ + imageView.image = firstFPSImage + } + + imageView.contentMode = .scaleAspectFit placeV.addSubview(imageView) imageView.frame = player.frame -- Gitblit v1.7.1