浏览代码

fix: 暂停后重新定位播放点的问题;重复调用playvideo函数的问题

huzhiqiang 3 年之前
父节点
当前提交
76963fa887

+ 9 - 5
MusicVideoPlus/Classes/Modules/Home/Controllers/MVHomeController.swift

@@ -153,7 +153,7 @@ class MVHomeController: MVBaseController {
         PQLoadingHUB.shared.showHUB(superView:view)
         MVHomeViewModel.getHomeHotVideos { [weak self] hotVideos, msg in
             if(msg == nil){
-                BFLog(message: "hotVideos count is :\(hotVideos.count)")
+                BFLog(1, message: "hotVideos count is :\(hotVideos.count)")
                 PQLoadingHUB.shared.dismissHUB(superView:(self?.view)!)
                 self?.showNetworkError(isHidden: true)
                 self?.refreshData(hotVideos: hotVideos)
@@ -204,7 +204,7 @@ class MVHomeController: MVBaseController {
         }
         viewListView.reloadData()
         // 自动播放第一个视频 确保 reloaddata 完成
-        playVideo(page: 0)
+//        playVideo(page: 0)
     }
 
     override func viewDidLoad() {
@@ -450,7 +450,7 @@ extension MVHomeController {
     /// 播放指定位置的视频
     /// - Parameter page: 视频数据位置
     func playVideo(page: Int) {
- 
+        BFLog(1, message: "aa : playVideo")
         DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.05) {
             if !(UIViewController.getCurrentViewController()?.isMember(of: MVHomeController.self))! {
                 BFLog(message: "当前显示的界面不是在首界面,不进行播放")
@@ -489,7 +489,7 @@ extension MVHomeController {
                 
                     
                     self.controlPlayrPasueOrResume(isPause: false)
-           
+                    
 
                 } else {
                     BFLog(message: "播放不成功: cell:\(String(describing: cell)) mVideos:\(self.mVideos.count) showProtocal: is \(String(describing: showProtocal))")
@@ -514,6 +514,10 @@ extension MVHomeController {
             BFLog(message: "rootViewController is \(String(describing: rootViewController))")
             if  cell != nil && cell?.videoData != nil{
                 cell?.pauseView.isHidden = true
+                if cell?.videoData?.videoId == PQSingletoVideoPlayer.shared.playVideoData?.videoId && PQSingletoVideoPlayer.shared.isPlayBegin {
+                    PQSingletoVideoPlayer.shared.resumePlayer()
+                    return
+                }
                 PQSingletoVideoPlayer.shared.configPlyer(videoData: (cell?.videoData)!, controllerView: cell!.converView)
                 PQSingletoVideoPlayer.shared.startPlayr()
                 PQSingletoVideoPlayer.shared.progressBloc = { [weak self] _, playProgress, duration in
@@ -529,7 +533,7 @@ extension MVHomeController {
                         PQSingletoVideoPlayer.shared.playVideoData!.playProgress = 0
                         if (self?.lastBnnerSelectIndex.row ?? 0) < (self?.mAllVideos.count ?? 0) - 1 {
                             self?.lastBnnerSelectIndex = IndexPath(row: (self?.lastBnnerSelectIndex.row ?? 0) + 1, section: 0)
-                            self?.playVideo(page: (self?.lastBnnerSelectIndex ?? IndexPath(row: 0, section: 0)).row)
+//                            self?.playVideo(page: (self?.lastBnnerSelectIndex ?? IndexPath(row: 0, section: 0)).row)
 
                             // 视频列表跳转
                             self?.viewListView.currentIndex = (self?.lastBnnerSelectIndex ?? IndexPath(row: 0, section: 0)).row

+ 4 - 2
MusicVideoPlus/Classes/Modules/Home/Views/Banner/MVBanner.swift

@@ -184,8 +184,10 @@ public extension MVBanner {
     final func reloadData() {
         let count = self.dataSource?.numberOfItems() ?? 0
         self.collectionView.isUserInteractionEnabled = count > 1
-        self.collectionView.reloadData()
-        self.scrollToItem(realAt: 0, animated: true)
+        if count > 0{
+            self.collectionView.reloadData()
+            self.scrollToItem(realAt: 0, animated: true)            
+        }
     }
     final func scrollToItem(realAt index: Int, animated: Bool) {
         let indexPath = self.indexPath(realIndex: index)