Commit e3d3c28d66986117120c9be78e4270bbe511272a
1 parent
796ecda9
实时热榜进入切换为短剧播放器 , 其他情况为剧集播放器
Showing
1 changed file
with
167 additions
and
45 deletions
metaCode/Classes/Main/VideoPage/Controller/CNLiveShortVideoViewController.swift
| @@ -168,6 +168,16 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -168,6 +168,16 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 168 | var currentDuanJuIndex: NSInteger! = 0//播放短剧index | 168 | var currentDuanJuIndex: NSInteger! = 0//播放短剧index |
| 169 | var isDuanJuPlayer = false//是否 短剧播放器 | 169 | var isDuanJuPlayer = false//是否 短剧播放器 |
| 170 | var isTempDuanJuPlayer = false//临时是否 短剧播放器 | 170 | var isTempDuanJuPlayer = false//临时是否 短剧播放器 |
| 171 | + var isPausePlayer = false//是否暂停播放 | ||
| 172 | + var isHomePagePush = false//是否 主页Push | ||
| 173 | + lazy var tempDataArray: NSMutableArray = {//临时剧集 | ||
| 174 | + let dataArray = NSMutableArray.init() | ||
| 175 | + return dataArray | ||
| 176 | + }() | ||
| 177 | + lazy var tempDataURLArray: NSMutableArray = {//临时剧集url | ||
| 178 | + let dataArray = NSMutableArray.init() | ||
| 179 | + return dataArray | ||
| 180 | + }() | ||
| 171 | 181 | ||
| 172 | /// 初始化播放器 | 182 | /// 初始化播放器 |
| 173 | /// - Parameters: | 183 | /// - Parameters: |
| @@ -180,12 +190,15 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -180,12 +190,15 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 180 | self.pageNum = page | 190 | self.pageNum = page |
| 181 | self.isSelectable = true | 191 | self.isSelectable = true |
| 182 | self.currentIndex = currentIndex | 192 | self.currentIndex = currentIndex |
| 193 | + self.isHomePagePush = true | ||
| 183 | super.init(nibName:nil, bundle:nil) | 194 | super.init(nibName:nil, bundle:nil) |
| 184 | self.dataArray.addObjects(from: dataArray) | 195 | self.dataArray.addObjects(from: dataArray) |
| 185 | dataArray.forEach {[weak self] listModel in | 196 | dataArray.forEach {[weak self] listModel in |
| 186 | guard let self = self else { return } | 197 | guard let self = self else { return } |
| 187 | self.dataURLArray.add(listModel.videoUrl) | 198 | self.dataURLArray.add(listModel.videoUrl) |
| 188 | } | 199 | } |
| 200 | + self.tempDataArray.addObjects(from: dataArray) | ||
| 201 | + self.tempDataURLArray.addObjects(from: self.dataURLArray as! [Any]) | ||
| 189 | } | 202 | } |
| 190 | 203 | ||
| 191 | /// 初始化播放器 | 204 | /// 初始化播放器 |
| @@ -283,6 +296,9 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -283,6 +296,9 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 283 | 296 | ||
| 284 | 297 | ||
| 285 | addRefreshView() | 298 | addRefreshView() |
| 299 | + if self.tableView.mj_footer == nil { | ||
| 300 | + self.tableView.mj_footer = footerRefreshView | ||
| 301 | + } | ||
| 286 | 302 | ||
| 287 | player = ZFPlayerController(scrollView: tableView, playerManager: playerManager, containerViewTag: 100) | 303 | player = ZFPlayerController(scrollView: tableView, playerManager: playerManager, containerViewTag: 100) |
| 288 | player.disableGestureTypes = [.pan, .pinch] | 304 | player.disableGestureTypes = [.pan, .pinch] |
| @@ -296,14 +312,17 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -296,14 +312,17 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 296 | guard let self = self else { return } | 312 | guard let self = self else { return } |
| 297 | self.controlView.videoPlayer((self.player)!, currentTime: self.player.currentTime, totalTime: self.player.totalTime) | 313 | self.controlView.videoPlayer((self.player)!, currentTime: self.player.currentTime, totalTime: self.player.totalTime) |
| 298 | let index = self.dataURLArray.index(of: assetURL.absoluteString) | 314 | let index = self.dataURLArray.index(of: assetURL.absoluteString) |
| 299 | - let homeModel = self.dataArray[index] as! CNLiveAlbumListModel | ||
| 300 | - self.currentIndex = index | ||
| 301 | - if homeModel.product?.check == false { | ||
| 302 | - if homeModel.product?.productType == "4" { | ||
| 303 | - //这里表示可以进行试听 | ||
| 304 | - } else { | ||
| 305 | - (self.player)!.stopCurrentPlayingCell() | 315 | + if let homeModel = self.dataArray[index] as? CNLiveAlbumListModel{ |
| 316 | + self.currentIndex = index | ||
| 317 | + if homeModel.product?.check == false { | ||
| 318 | + if homeModel.product?.productType == "4" { | ||
| 319 | + //这里表示可以进行试听 | ||
| 320 | + } else { | ||
| 321 | + (self.player)!.stopCurrentPlayingCell() | ||
| 322 | + } | ||
| 306 | } | 323 | } |
| 324 | + }else{ | ||
| 325 | + | ||
| 307 | } | 326 | } |
| 308 | } | 327 | } |
| 309 | // 更新另一个控制层的时间 | 328 | // 更新另一个控制层的时间 |
| @@ -328,7 +347,15 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -328,7 +347,15 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 328 | guard let self = self else { return } | 347 | guard let self = self else { return } |
| 329 | self.controlView.videoPlayer((self.player)!) | 348 | self.controlView.videoPlayer((self.player)!) |
| 330 | self.player.currentPlayerManager.stop() | 349 | self.player.currentPlayerManager.stop() |
| 350 | + //短剧播放器->剧集播放器 播放下一集 | ||
| 351 | + self.currentIndex = self.currentIndex + 1 | ||
| 352 | + if self.currentIndex >= self.dataArray.count{ | ||
| 353 | + //最后一集,重置为最后一集 | ||
| 354 | + self.currentIndex = self.dataArray.count - 1 | ||
| 355 | + } | ||
| 356 | + | ||
| 331 | let indexPath = IndexPath(row: self.currentIndex, section: 0) | 357 | let indexPath = IndexPath(row: self.currentIndex, section: 0) |
| 358 | + self.player.scrollView?.setContentOffset(CGPoint(x: 0, y:CGFloat(self.currentIndex)*KSreenHeight), animated: true)//校正偏移量 | ||
| 332 | self.playVideo(at: indexPath as IndexPath) | 359 | self.playVideo(at: indexPath as IndexPath) |
| 333 | } | 360 | } |
| 334 | 361 | ||
| @@ -398,10 +425,17 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -398,10 +425,17 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 398 | self.tableView.refreshControl = headerRefreshView | 425 | self.tableView.refreshControl = headerRefreshView |
| 399 | footerRefreshView = CNLiveFooterRefresh(refreshingBlock: { [weak self] in | 426 | footerRefreshView = CNLiveFooterRefresh(refreshingBlock: { [weak self] in |
| 400 | guard let self = self else { return } | 427 | guard let self = self else { return } |
| 401 | - self.player.stopCurrentPlayingCell() | ||
| 402 | - self.currentIndex = 0 | ||
| 403 | - self.pageNum += 1 | ||
| 404 | - self.requestData {noMore in } | 428 | + if self.isDuanJuPlayer |
| 429 | + {//短剧 | ||
| 430 | + if self.tableView.mj_footer != nil { | ||
| 431 | + self.tableView.mj_footer?.endRefreshing() | ||
| 432 | + self.tableView.mj_footer?.endRefreshingWithNoMoreData() | ||
| 433 | + } | ||
| 434 | + }else{//剧集 | ||
| 435 | + self.player.stopCurrentPlayingCell() | ||
| 436 | + self.pageNum += 1 | ||
| 437 | + self.requestData {noMore in } | ||
| 438 | + } | ||
| 405 | }) | 439 | }) |
| 406 | //预加载下 | 440 | //预加载下 |
| 407 | CNLiveQQEmotionManager.emotionsForQQ() | 441 | CNLiveQQEmotionManager.emotionsForQQ() |
| @@ -412,7 +446,22 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -412,7 +446,22 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 412 | if self.isDuanJuPlayer{ | 446 | if self.isDuanJuPlayer{ |
| 413 | self.requestAllHotListData { noMore in } | 447 | self.requestAllHotListData { noMore in } |
| 414 | }else{ | 448 | }else{ |
| 415 | - self.requestData {noMore in } | 449 | + self.realHotArr.removeAllObjects() |
| 450 | + self.realHotAllFirstArr.removeAllObjects() | ||
| 451 | + self.realHotAllTotalArr.removeAllObjects() | ||
| 452 | + self.realHotAllTotalVideoUrlArr.removeAllObjects() | ||
| 453 | + self.currentDuanJuIndex = 0 | ||
| 454 | + self.isHomePagePush = false | ||
| 455 | + self.currentIndex = 0 | ||
| 456 | + self.currentDuanJuIndex = 0 | ||
| 457 | + if self.pickerView != nil { | ||
| 458 | + self.pickerView.setupWithArray(dataArray: self.dataArray) | ||
| 459 | + } | ||
| 460 | + self.tableView.refreshControl?.endRefreshing() | ||
| 461 | + self.tableView.reloadData() | ||
| 462 | + DispatchQueue.main.asyncAfter(deadline: .now() + 1) { | ||
| 463 | + self.player.scrollView?.setContentOffset(CGPoint(x: 0, y:CGFloat(self.currentIndex!)*KSreenHeight), animated: true)//校正偏移量 | ||
| 464 | + } | ||
| 416 | } | 465 | } |
| 417 | } | 466 | } |
| 418 | 467 | ||
| @@ -439,6 +488,8 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -439,6 +488,8 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 439 | self.realHotAllTotalArr.removeAllObjects() | 488 | self.realHotAllTotalArr.removeAllObjects() |
| 440 | self.dataArray.removeAllObjects() | 489 | self.dataArray.removeAllObjects() |
| 441 | self.dataURLArray.removeAllObjects() | 490 | self.dataURLArray.removeAllObjects() |
| 491 | + self.tempDataArray.removeAllObjects() | ||
| 492 | + self.tempDataURLArray.removeAllObjects() | ||
| 442 | 493 | ||
| 443 | showLoading(message: "") | 494 | showLoading(message: "") |
| 444 | let tempRealHotArr = Array(self.realHotArr) | 495 | let tempRealHotArr = Array(self.realHotArr) |
| @@ -522,8 +573,10 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -522,8 +573,10 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 522 | 573 | ||
| 523 | //等全部数据弄好了再设置 | 574 | //等全部数据弄好了再设置 |
| 524 | self.dataArray.addObjects(from: self.realHotAllFirstArr as! [CNLiveAlbumListModel]) | 575 | self.dataArray.addObjects(from: self.realHotAllFirstArr as! [CNLiveAlbumListModel]) |
| 525 | - | ||
| 526 | self.dataURLArray.addObjects(from: self.realHotAllFirstVideoUrlArr as! [String]) | 576 | self.dataURLArray.addObjects(from: self.realHotAllFirstVideoUrlArr as! [String]) |
| 577 | + // | ||
| 578 | + self.tempDataArray.addObjects(from: self.realHotAllTotalArr[self.currentDuanJuIndex] as! [CNLiveAlbumListModel]) | ||
| 579 | + self.tempDataURLArray.addObjects(from: self.realHotAllTotalVideoUrlArr[self.currentDuanJuIndex] as! [String]) | ||
| 527 | if self.tableView.mj_footer != nil { | 580 | if self.tableView.mj_footer != nil { |
| 528 | self.tableView.mj_footer?.endRefreshing() | 581 | self.tableView.mj_footer?.endRefreshing() |
| 529 | } | 582 | } |
| @@ -534,6 +587,9 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -534,6 +587,9 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 534 | self.tableView.refreshControl?.endRefreshing() | 587 | self.tableView.refreshControl?.endRefreshing() |
| 535 | self.tableView.reloadData() | 588 | self.tableView.reloadData() |
| 536 | 589 | ||
| 590 | + if self.tableView.mj_footer == nil { | ||
| 591 | + self.tableView.mj_footer = self.footerRefreshView | ||
| 592 | + } | ||
| 537 | 593 | ||
| 538 | self.playTheIndex(index: self.currentDuanJuIndex) | 594 | self.playTheIndex(index: self.currentDuanJuIndex) |
| 539 | } | 595 | } |
| @@ -552,10 +608,35 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -552,10 +608,35 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 552 | // self.tableView.setContentOffset(CGPoint.zero, animated: false) | 608 | // self.tableView.setContentOffset(CGPoint.zero, animated: false) |
| 553 | // } | 609 | // } |
| 554 | } | 610 | } |
| 555 | - let listArray = (result as! [Any]).first as! [CNLiveAlbumListModel] | ||
| 556 | - self.dataArray.addObjects(from: listArray) | ||
| 557 | - let urlArray = (result as! [Any]).last as! [String] | ||
| 558 | - self.dataURLArray.addObjects(from: urlArray) | 611 | + var listArray = [CNLiveAlbumListModel]() |
| 612 | + var urlArray = [String]() | ||
| 613 | + if self.isTempDuanJuPlayer{ | ||
| 614 | + //是短剧,点击了集数列表 | ||
| 615 | + if self.isDuanJuPlayer{ | ||
| 616 | + //没点集数,还是短剧 | ||
| 617 | + print("1") | ||
| 618 | + }else{ | ||
| 619 | + //点击了集数,切换剧集 | ||
| 620 | + listArray = (result as! [Any]).first as! [CNLiveAlbumListModel] | ||
| 621 | + self.tempDataArray.addObjects(from: listArray) | ||
| 622 | + urlArray = (result as! [Any]).last as! [String] | ||
| 623 | + self.tempDataURLArray.addObjects(from: urlArray) | ||
| 624 | + self.dataArray.removeAllObjects() | ||
| 625 | + self.dataArray.addObjects(from: self.tempDataArray as! [Any]) | ||
| 626 | + self.dataURLArray.removeAllObjects() | ||
| 627 | + self.dataURLArray.addObjects(from: self.tempDataURLArray as! [Any]) | ||
| 628 | + } | ||
| 629 | + }else{ | ||
| 630 | + //剧集 | ||
| 631 | + listArray = (result as! [Any]).first as! [CNLiveAlbumListModel] | ||
| 632 | + self.tempDataArray.addObjects(from: listArray) | ||
| 633 | + urlArray = (result as! [Any]).last as! [String] | ||
| 634 | + self.tempDataURLArray.addObjects(from: urlArray) | ||
| 635 | + self.dataArray.removeAllObjects() | ||
| 636 | + self.dataArray.addObjects(from: self.tempDataArray as! [Any]) | ||
| 637 | + self.dataURLArray.removeAllObjects() | ||
| 638 | + self.dataURLArray.addObjects(from: self.tempDataURLArray as! [Any]) | ||
| 639 | + } | ||
| 559 | if self.tableView.mj_footer != nil { | 640 | if self.tableView.mj_footer != nil { |
| 560 | self.tableView.mj_footer?.endRefreshing() | 641 | self.tableView.mj_footer?.endRefreshing() |
| 561 | } | 642 | } |
| @@ -581,14 +662,23 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -581,14 +662,23 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 581 | } | 662 | } |
| 582 | } | 663 | } |
| 583 | 664 | ||
| 584 | - let model = listArray.first?.albumMsgModel | ||
| 585 | - let toIndex = (model?.episodeLast ?? 1)-1 <= 0 ? 0 : (model?.episodeLast ?? 1)-1 | ||
| 586 | - var page = (self.roundUpToNearestTen(toIndex))/10 | ||
| 587 | - if page == 0 { | ||
| 588 | - page = 1 | 665 | + if self.isTempDuanJuPlayer == true && self.isDuanJuPlayer == false{ |
| 666 | + //从短剧变为剧集 | ||
| 667 | +// self.playTheIndex(index: self.currentIndex) | ||
| 668 | + }else{//剧集 | ||
| 669 | + if self.slideModel == nil && self.currentIndex == 0{//非实时热榜进入,找上一次播放集数 | ||
| 670 | + let model = listArray.first?.albumMsgModel | ||
| 671 | + let toIndex = (model?.episodeLast ?? 1)-1 <= 0 ? 0 : (model?.episodeLast ?? 1)-1 | ||
| 672 | + var page = (self.roundUpToNearestTen(toIndex))/10 | ||
| 673 | + if page == 0 { | ||
| 674 | + page = 1 | ||
| 675 | + } | ||
| 676 | + self.pageNum = page | ||
| 677 | + self.playTheIndex(index: toIndex) | ||
| 678 | + }else{ | ||
| 679 | + print("加载更多列表") | ||
| 680 | + } | ||
| 589 | } | 681 | } |
| 590 | - self.pageNum = page | ||
| 591 | - self.playTheIndex(index: toIndex) | ||
| 592 | } else { | 682 | } else { |
| 593 | if self.tableView.mj_footer != nil { | 683 | if self.tableView.mj_footer != nil { |
| 594 | self.tableView.mj_footer?.endRefreshing() | 684 | self.tableView.mj_footer?.endRefreshing() |
| @@ -608,6 +698,7 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -608,6 +698,7 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 608 | tableView.scrollToRow(at: indexPath, at: .none, animated: false) | 698 | tableView.scrollToRow(at: indexPath, at: .none, animated: false) |
| 609 | DispatchQueue.main.asyncAfter(deadline: .now() + 1) { | 699 | DispatchQueue.main.asyncAfter(deadline: .now() + 1) { |
| 610 | self.player.scrollView?.setContentOffset(CGPoint(x: 0, y:CGFloat(index)*KSreenHeight), animated: true)//校正偏移量 | 700 | self.player.scrollView?.setContentOffset(CGPoint(x: 0, y:CGFloat(index)*KSreenHeight), animated: true)//校正偏移量 |
| 701 | + self.playVideo(at: IndexPath(row: index, section: 0)) | ||
| 611 | } | 702 | } |
| 612 | 703 | ||
| 613 | // 使用zf_filterShouldPlayCellWhileScrolled过滤播放 | 704 | // 使用zf_filterShouldPlayCellWhileScrolled过滤播放 |
| @@ -667,24 +758,44 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | @@ -667,24 +758,44 @@ class CNLiveShortVideoViewController : CNLiveBaseViewController, UITableViewDele | ||
| 667 | 758 | ||
| 668 | if self.isDuanJuPlayer{ | 759 | if self.isDuanJuPlayer{ |
| 669 | self.currentDuanJuIndex = indexPath.row | 760 | self.currentDuanJuIndex = indexPath.row |
| 670 | - let arr1 = self.realHotAllTotalArr[self.currentDuanJuIndex] as! Array<Any> | ||
| 671 | - let arr = NSMutableArray() | ||
| 672 | - arr1.forEach { obj in | ||
| 673 | - let duanjuMdl = obj as! CNLiveAlbumListModel | ||
| 674 | - arr.add(duanjuMdl) | ||
| 675 | - } | ||
| 676 | - if self.pickerView != nil { | ||
| 677 | - self.pickerView.setupWithArray(dataArray: arr) | 761 | + if self.currentDuanJuIndex < self.realHotAllTotalArr.count{ |
| 762 | + let arr1 = self.realHotAllTotalArr[self.currentDuanJuIndex] as! Array<Any> | ||
| 763 | + let arr = NSMutableArray() | ||
| 764 | + arr1.forEach { obj in | ||
| 765 | + let duanjuMdl = obj as! CNLiveAlbumListModel | ||
| 766 | + arr.add(duanjuMdl) | ||
| 767 | + } | ||
| 768 | + if self.pickerView != nil { | ||
| 769 | + self.pickerView.setupWithArray(dataArray: arr) | ||
| 770 | + } | ||
| 678 | } | 771 | } |
| 679 | }else{ | 772 | }else{ |
| 680 | if self.pickerView != nil { | 773 | if self.pickerView != nil { |
| 681 | self.pickerView.setupWithArray(dataArray: self.dataArray) | 774 | self.pickerView.setupWithArray(dataArray: self.dataArray) |
| 682 | } | 775 | } |
| 683 | } | 776 | } |
| 684 | - let data: CNLiveAlbumListModel = dataArray[indexPath.row] as! CNLiveAlbumListModel | ||
| 685 | - self.player.playTheIndexPath(indexPath, assetURL: URL(string: data.videoUrl)!) | ||
| 686 | - controlView.resetControlView() | ||
| 687 | - controlView.showCoverView(withUrl: data.poster) | 777 | + if self.isPausePlayer == true{ |
| 778 | +// self.playerManager.pause() | ||
| 779 | + print("111") | ||
| 780 | + }else{ | ||
| 781 | + var index = 0 | ||
| 782 | + if self.isHomePagePush == true{ | ||
| 783 | + //是主页push | ||
| 784 | + self.isHomePagePush = false | ||
| 785 | + index = self.currentIndex | ||
| 786 | + }else{ | ||
| 787 | + //不是主页push | ||
| 788 | + self.currentIndex = indexPath.row | ||
| 789 | + index = self.currentIndex | ||
| 790 | + | ||
| 791 | + } | ||
| 792 | + let idxPath = IndexPath(row: index, section: indexPath.section) | ||
| 793 | + if let data: CNLiveAlbumListModel = dataArray[index] as? CNLiveAlbumListModel{ | ||
| 794 | + self.player.playTheIndexPath(idxPath, assetURL: URL(string: data.videoUrl)!) | ||
| 795 | + controlView.resetControlView() | ||
| 796 | + controlView.showCoverView(withUrl: data.poster) | ||
| 797 | + } | ||
| 798 | + } | ||
| 688 | } | 799 | } |
| 689 | //10倍数向上取整 | 800 | //10倍数向上取整 |
| 690 | func roundUpToNearestTen(_ number: Int) -> Int { | 801 | func roundUpToNearestTen(_ number: Int) -> Int { |
| @@ -761,12 +872,17 @@ extension CNLiveShortVideoViewController { | @@ -761,12 +872,17 @@ extension CNLiveShortVideoViewController { | ||
| 761 | } | 872 | } |
| 762 | } | 873 | } |
| 763 | func listActionMethod(viewcell: CNLiveShortVideoListTableViewCell, button: UIButton) { | 874 | func listActionMethod(viewcell: CNLiveShortVideoListTableViewCell, button: UIButton) { |
| 764 | - var arr = NSMutableArray() | 875 | + let arr = NSMutableArray() |
| 765 | var pageNum:NSInteger = 1 | 876 | var pageNum:NSInteger = 1 |
| 766 | if self.isDuanJuPlayer{ | 877 | if self.isDuanJuPlayer{ |
| 767 | let listArr = self.realHotAllTotalArr[self.currentDuanJuIndex] as! [CNLiveAlbumListModel] | 878 | let listArr = self.realHotAllTotalArr[self.currentDuanJuIndex] as! [CNLiveAlbumListModel] |
| 768 | arr.addObjects(from: listArr) | 879 | arr.addObjects(from: listArr) |
| 769 | pageNum = 1 | 880 | pageNum = 1 |
| 881 | + self.aid = listArr.first?.albumMsgModel?.albumId | ||
| 882 | + self.tempDataArray.removeAllObjects() | ||
| 883 | + self.tempDataArray.addObjects(from: self.realHotAllTotalArr[self.currentDuanJuIndex] as! [CNLiveAlbumListModel]) | ||
| 884 | + self.tempDataURLArray.removeAllObjects() | ||
| 885 | + self.tempDataURLArray.addObjects(from: self.realHotAllTotalVideoUrlArr[self.currentDuanJuIndex] as! [String]) | ||
| 770 | }else{ | 886 | }else{ |
| 771 | arr.addObjects(from: self.dataArray as! [Any]) | 887 | arr.addObjects(from: self.dataArray as! [Any]) |
| 772 | pageNum = self.pageNum | 888 | pageNum = self.pageNum |
| @@ -774,36 +890,42 @@ extension CNLiveShortVideoViewController { | @@ -774,36 +890,42 @@ extension CNLiveShortVideoViewController { | ||
| 774 | 890 | ||
| 775 | self.isTempDuanJuPlayer = self.isDuanJuPlayer | 891 | self.isTempDuanJuPlayer = self.isDuanJuPlayer |
| 776 | self.isDuanJuPlayer = false | 892 | self.isDuanJuPlayer = false |
| 893 | + self.isPausePlayer = true | ||
| 894 | + | ||
| 777 | pickerView = CNLiveShortVideoContentListView.showVideoContentListView(aid: viewcell.homeModel.albumMsgModel!.albumId,pageNum: pageNum,title: viewcell.homeModel.albumMsgModel!.albumName,dataArray: arr, episodeNow: viewcell.homeModel.albumMsgModel!.episodeNow, result: {[weak self] listModel in | 895 | pickerView = CNLiveShortVideoContentListView.showVideoContentListView(aid: viewcell.homeModel.albumMsgModel!.albumId,pageNum: pageNum,title: viewcell.homeModel.albumMsgModel!.albumName,dataArray: arr, episodeNow: viewcell.homeModel.albumMsgModel!.episodeNow, result: {[weak self] listModel in |
| 778 | guard let self = self else { return } | 896 | guard let self = self else { return } |
| 779 | 897 | ||
| 780 | if listModel is String{ | 898 | if listModel is String{ |
| 781 | //点击了x | 899 | //点击了x |
| 782 | self.isDuanJuPlayer = self.isTempDuanJuPlayer | 900 | self.isDuanJuPlayer = self.isTempDuanJuPlayer |
| 901 | + self.isPausePlayer = false | ||
| 783 | }else{ | 902 | }else{ |
| 784 | - //点击了cell | 903 | + // MARK: - 点击了剧集列表cell |
| 785 | //切换为剧集播放器 | 904 | //切换为剧集播放器 |
| 905 | + self.isPausePlayer = false | ||
| 786 | self.isDuanJuPlayer = false | 906 | self.isDuanJuPlayer = false |
| 787 | self.isTempDuanJuPlayer = false | 907 | self.isTempDuanJuPlayer = false |
| 788 | //更改数据源 | 908 | //更改数据源 |
| 789 | self.dataArray.removeAllObjects() | 909 | self.dataArray.removeAllObjects() |
| 790 | self.dataURLArray.removeAllObjects() | 910 | self.dataURLArray.removeAllObjects() |
| 791 | - let arr = self.realHotAllTotalArr[self.currentDuanJuIndex] as! [CNLiveAlbumListModel] | ||
| 792 | - self.dataArray.addObjects(from: arr) | ||
| 793 | - let urlArr = self.realHotAllTotalVideoUrlArr [self.currentDuanJuIndex] as! [String] | ||
| 794 | - self.dataURLArray.addObjects(from: urlArr) | 911 | + |
| 912 | + self.dataArray.addObjects(from: self.tempDataArray as! [CNLiveAlbumListModel]) | ||
| 913 | + | ||
| 914 | + self.dataURLArray.addObjects(from: self.tempDataURLArray as! [String]) | ||
| 915 | + | ||
| 795 | self.tableView.reloadData() | 916 | self.tableView.reloadData() |
| 796 | let index = self.dataArray.index(of: listModel) as NSInteger | 917 | let index = self.dataArray.index(of: listModel) as NSInteger |
| 918 | + self.currentIndex = index | ||
| 797 | self.playTheIndex(index: index) | 919 | self.playTheIndex(index: index) |
| 798 | - | ||
| 799 | } | 920 | } |
| 800 | }, reload: {[weak self] page in | 921 | }, reload: {[weak self] page in |
| 801 | guard let self = self else { return } | 922 | guard let self = self else { return } |
| 802 | self.player.stopCurrentPlayingCell() | 923 | self.player.stopCurrentPlayingCell() |
| 803 | - self.currentIndex = 0 | 924 | + if page == 1{ |
| 925 | + self.currentIndex = 0 | ||
| 926 | + } | ||
| 804 | self.pageNum = page | 927 | self.pageNum = page |
| 805 | 928 | ||
| 806 | - | ||
| 807 | self.requestData { noMore in | 929 | self.requestData { noMore in |
| 808 | self.pickerView.tableView.mj_footer?.endRefreshing() | 930 | self.pickerView.tableView.mj_footer?.endRefreshing() |
| 809 | if noMore { | 931 | if noMore { |