修复bug

This commit is contained in:
zjx 2025-06-13 18:21:03 +08:00
parent 8759b6f80c
commit 7e37c16187
5 changed files with 46 additions and 22 deletions

View File

@ -218,7 +218,7 @@ extension VPVipAlertView {
bgView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.width.equalTo(274)
make.height.equalTo(330)
// make.height.equalTo(330)
}
bgIconImageView.snp.makeConstraints { make in
@ -249,6 +249,7 @@ extension VPVipAlertView {
}
vipBgView.snp.makeConstraints { make in
make.top.equalTo(textLabel.snp.bottom).offset(15)
make.centerX.equalToSuperview()
make.bottom.equalToSuperview().offset(-22)
}

View File

@ -103,7 +103,6 @@ class VPDetailPlayerViewController: VPVideoPlayerViewController {
//0
VPVideoAPI.requestUploadPlayProgress(shortPlayId: shortPlayId, videoId: videoId, seconds: 0)
self.viewModel.currentPlayer?.videoInfo?.play_seconds = 0
}
super.currentPlayFinish()
@ -253,7 +252,7 @@ extension VPDetailPlayerViewController {
if currentTime >= duration {
time = 0
}
self.viewModel.currentPlayer?.videoInfo?.play_seconds = time * 1000
// self.viewModel.currentPlayer?.videoInfo?.play_seconds = time * 1000
guard let shortPlayId = videoInfo?.short_play_id, let videoId = videoInfo?.short_play_video_id else { return }
//

View File

@ -205,6 +205,8 @@ class VPVideoPlayerViewController: VPViewController {
///
func currentPlayFinish() {
self.viewModel.currentPlayer?.videoInfo?.play_seconds = 0
if self.autoNextEpisode {
scrollToNextEpisode()
}
@ -212,6 +214,16 @@ class VPVideoPlayerViewController: VPViewController {
///
func currentPlayTimeDidChange(time: Int) {
guard time > 1 else { return }
let currentTime = self.viewModel.currentPlayer?.currentPosition ?? 0
let duration = self.viewModel.currentPlayer?.duration ?? 0
var time = currentTime
if currentTime >= duration {
time = 0
}
self.viewModel.currentPlayer?.videoInfo?.play_seconds = time * 1000
}
}
@ -378,6 +390,7 @@ extension VPVideoPlayerViewController {
@objc func didBecomeActiveNotification() {
if getDataCount() > 0 && self.viewModel.isPlaying && isDidAppear {
self.viewModel.currentPlayer?.prepare()//
self.viewModel.currentPlayer?.start()
}
}

View File

@ -124,7 +124,9 @@ class VPVideoPlayerCell: VPCollectionViewCell, VPPlayerProtocol {
}
func prepare() {
player.setPlayUrl(url: videoInfo?.video_url ?? "")
// self.player.stop()
// self.player.prepare()
}
func start() {

View File

@ -148,9 +148,9 @@ class VPPlayer: NSObject {
func setPlayUrl(url: String) {
let proxyURL = KTVHTTPCache.proxyURL(withOriginalURL: URL(string: url))
if proxyURL != self.player.assetURL {
self.player.assetURL = proxyURL
}
// if proxyURL != self.player.assetURL {
// }
self.player.assetURL = proxyURL
// self.prepare()
}
@ -224,26 +224,30 @@ extension VPPlayer {
guard let self = self else { return }
if playState == .playStatePlaying && !isPlaying {
self.pause()
} else if playState == .playStatePaused, isPlaying, self.interruptionType != .began {
} else if playState == .playStatePaused, isPlaying {
self.start()
}
switch playState {
case .playStateUnknown:
vpLog(message: "播放状态====playStateUnknown")
self.playState = .unknown
case .playStatePlaying:
vpLog(message: "播放状态====playStatePlaying")
self.playState = .playing
case .playStatePaused:
vpLog(message: "播放状态====playStatePaused")
self.playState = .paused
case .playStatePlayStopped:
vpLog(message: "播放状态====playStatePlayStopped")
self.playState = .stopped
case .playStatePlayFailed:
vpLog(message: "播放状态====playStatePlayFailed")
self.playState = .failed
default:
self.playState = .unknown
}
self.delegate?.vp_player?(self, playStateDidChanged: self.playState)
vpLog(message: "播放状态====\(playState)")
}
//
@ -251,22 +255,27 @@ extension VPPlayer {
guard let self = self else { return }
if loadState == .playable && !isPlaying {
self.pause()
} else if loadState == .playable, isPlaying, self.player.playState != .playStatePlaying, self.interruptionType != .began {
} else if loadState == .playable, isPlaying, self.player.playState != .playStatePlaying {
self.start()
}
switch loadState {
case .prepare:
self.loadState = .prepare
case .playable:
self.loadState = .playable
case .playthroughOK:
self.loadState = .playthroughOK
case .stalled:
self.loadState = .stalled
default:
self.loadState = .unknown
break
case .prepare:
vpLog(message: "加载状态====prepare\(loadState)")
self.loadState = .prepare
case .playable:
vpLog(message: "加载状态====playable\(loadState)")
self.loadState = .playable
case .playthroughOK:
vpLog(message: "加载状态====playthroughOK\(loadState)")
self.loadState = .playthroughOK
case .stalled:
vpLog(message: "加载状态====stalled\(loadState)")
self.loadState = .stalled
default:
vpLog(message: "加载状态====unknown\(loadState)")
self.loadState = .unknown
break
}
self.delegate?.vp_player?(self, loadStateDidChange: self.loadState)
}
@ -317,7 +326,7 @@ extension VPPlayer {
self.player.play()
}
}
// vpLog(message: "======\(interruptionType)")
vpLog(message: "======音频发生变化\(interruptionType)")
}