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 设置我的位置功能后并未显示当前位置点,需要点击定位才能显示当前定位点
311浏览 • 1回复 待解决
HarmonyOS开发中设置我的位置功能后并未显示当前位置点,需要点击定位才能显示当前定位点?
45浏览 • 0回复 待解决
showSoftKeyboard一定要点击输入框才能唤起输入法吗?
2001浏览 • 1回复 待解决
Dev studio需要运行两次才能 生效最新修改的代码
2241浏览 • 1回复 待解决
HarmonyOS 列表视频滚动播放
245浏览 • 1回复 待解决
HarmonyOS 点击埋点和曝光埋点的最佳实践是什么?
435浏览 • 1回复 待解决
HarmonyOS 用GSYVideoPlayer三方库实现了列表中的视频播放,目前需要滑动到屏幕中心的视频,自动播放
346浏览 • 1回复 待解决
主线程怎么才能判断子线程是否已经执行结束了
6674浏览 • 1回复 待解决
HarmonyOS AvPlayer视频播放速度问题
354浏览 • 1回复 待解决
是否支持点一下应用包就能安装APP?不需要通过hdc命令才能安装
813浏览 • 1回复 待解决
小窗视频转全屏播放,播放的视频占满全屏
1976浏览 • 1回复 待解决
HarmonyOS 的ijkplayder视频播放器是否支持rtsp格式的视频流播放?
92浏览 • 1回复 待解决
HarmonyOS Video组件播放网络视频,需要refer鉴权,如何添加
388浏览 • 1回复 待解决
在使用video组件时,为video添加本地视频播放源后,立刻播放,为什么会播放失败
494浏览 • 1回复 待解决
视频播放Player组件如何加速播放或者快进播放
7279浏览 • 1回复 待解决
HarmonyOS webview如何播放本地沙箱视频
1400浏览 • 1回复 待解决
HarmonyOS 怎么获取视频的播放时长?
157浏览 • 1回复 待解决
音视频播放是否需要创建长时任务
1770浏览 • 1回复 待解决
鸿蒙视频播放器项目 调用rewindTo()方法视频为何重新播放?
5603浏览 • 1回复 待解决
SDK问题,视频播放替代?
162浏览 • 1回复 待解决
HarmonyOS 点播视频播放器选型咨询
141浏览 • 1回复 待解决
在视频播放器播放时使竖屏播放切换为横屏播放如何更改视频的宽高?
9233浏览 • 1回复 待解决
HarmonyOS AVPlayer播放视频,退出页面后台播放时,视频会停止
375浏览 • 1回复 待解决
HarmonyOS 视频播放器Video播放在线视频问题
764浏览 • 1回复 待解决
使用Image播放GIF时如何监听GIF播放结束事件并做处理
112浏览 • 0回复 待解决
代码如下: