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