HarmonyOS 视频播放结束后,重播,需要点击重播点两遍才能重播
视频播放结束后,需要点击两遍重播,才能重头开始播放。
在播放器播放完成后,COMPLETED状态会调用this.avPlayer.stop(),点击重播,调用this.avPlayer?.prepare(),但是点一遍,日志输出AVPlayer state stopped called,点第二遍,状态才变成prepared,日志输出AVPlayer state prepared called。
尝试在点击重播时直接在代码里调用两次this.avPlayer?.prepare()也不行,必须有间隔时间调用两次this.avPlayer?.prepare()才能重播。请问不能直接调用一次this.avPlayer?.prepare()来实现重播吗,还需要调用什么?以下是状态流转时的操作:
this.avPlayer.on(PlayerEvent.STATE_CHANGE, async (state: string, reason: media.StateChangeReason) => {
switch (state) {
case PlayerState.IDLE:
console.info('AVPlayer state idle called.')
this.avPlayer.release()
break
case PlayerState.INITIALIZED:
console.info('xxx','AVPlayer state initialized called.')
this.avPlayer.surfaceId = this.surfaceId // 设置显示画面,当播放的资源为纯音频时无需设置
this.avPlayer.prepare()
break
case PlayerState.PREPARED:
console.info('xxx', 'AVPlayer state prepared called.')
this.avPlayer.play()
break
case PlayerState.PLAYING:
console.info('xxx', 'AVPlayer state playing called.')
break
case PlayerState.PAUSED:
console.info('xxx','AVPlayer state paused called.')
break
case PlayerState.COMPLETED:
console.info('xxx','AVPlayer state completed called.')
this.context.eventHub.emit(VideoEvent.PLAY_COMPLETE)
this.avPlayer.stop()
break
case PlayerState.STOPPED:
console.info('xxx','AVPlayer state stopped called.')
break
case PlayerState.RELEASED:
console.info('xxx','AVPlayer state released called.')
break
default:
console.info('xxx','AVPlayer state unknown called.')
break
}
})
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 设置我的位置功能后并未显示当前位置点,需要点击定位才能显示当前定位点
281浏览 • 1回复 待解决
showSoftKeyboard一定要点击输入框才能唤起输入法吗?
1963浏览 • 1回复 待解决
HarmonyOS Video组件播放网络视频,需要refer鉴权,如何添加
323浏览 • 1回复 待解决
音视频播放是否需要创建长时任务
1606浏览 • 1回复 待解决
Dev studio需要运行两次才能 生效最新修改的代码
2206浏览 • 1回复 待解决
HarmonyOS AVPlayer播放视频,退出页面后台播放时,视频会停止
321浏览 • 1回复 待解决
HarmonyOS 视频播放器Video播放在线视频问题
536浏览 • 1回复 待解决
HarmonyOS 列表视频滚动播放
159浏览 • 1回复 待解决
HarmonyOS 用GSYVideoPlayer三方库实现了列表中的视频播放,目前需要滑动到屏幕中心的视频,自动播放
264浏览 • 1回复 待解决
小窗视频转全屏播放,播放的视频占满全屏
1904浏览 • 1回复 待解决
HarmonyOS AvPlayer视频播放速度问题
289浏览 • 1回复 待解决
简易视频播放,如何使用video组件实现视频播放功能
854浏览 • 1回复 待解决
在使用video组件时,为video添加本地视频播放源后,立刻播放,为什么会播放失败
414浏览 • 1回复 待解决
HarmonyOS 点击埋点和曝光埋点的最佳实践是什么?
337浏览 • 1回复 待解决
视频播放Player组件如何加速播放或者快进播放
7222浏览 • 1回复 待解决
AVPlayer实现视频播放
718浏览 • 1回复 待解决
avplayer播放视频demo
1240浏览 • 1回复 待解决
是否支持点一下应用包就能安装APP?不需要通过hdc命令才能安装
735浏览 • 1回复 待解决
HarmonyOS webview如何播放本地沙箱视频
1231浏览 • 1回复 待解决
鸿蒙视频播放器项目 调用rewindTo()方法视频为何重新播放?
5553浏览 • 1回复 待解决
HarmonyOS 列表视频全屏播放实现
259浏览 • 1回复 待解决
视频和直播播放HarmonyOS最佳实践
474浏览 • 1回复 待解决
SDK问题,视频播放替代?
110浏览 • 1回复 待解决
播放网络视频的时候老是缓冲,网速是够的, 怎么优化才能减少缓冲呢?
4745浏览 • 1回复 待解决
主线程怎么才能判断子线程是否已经执行结束了
6636浏览 • 1回复 待解决
代码如下: