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 设置我的位置功能后并未显示当前位置点,需要点击定位才能显示当前定位点
424浏览 • 1回复 待解决
HarmonyOS开发中设置我的位置功能后并未显示当前位置点,需要点击定位才能显示当前定位点?
214浏览 • 0回复 待解决
HarmonyOS 需要视频小窗播放功能
26浏览 • 1回复 待解决
showSoftKeyboard一定要点击输入框才能唤起输入法吗?
2106浏览 • 1回复 待解决
HarmonyOS image加载网络动图播放一遍后不再播放,有什么方法可以 设置循环播放
45浏览 • 1回复 待解决
HarmonyOS swiper的disableSwipe所传的state不会马上生效,需要在一次滑动事件结束后才能生效
29浏览 • 1回复 待解决
Dev studio需要运行两次才能 生效最新修改的代码
2375浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何实现短视频播放控制,比如点击暂停和播放?
119浏览 • 1回复 待解决
HarmonyOS 视频录制后保存文件,打开视频文件不能播放,提示格式错误,无法解码播放
120浏览 • 1回复 待解决
音视频播放是否需要创建长时任务
1912浏览 • 1回复 待解决
HarmonyOS Video组件播放网络视频,需要refer鉴权,如何添加
542浏览 • 1回复 待解决
是否支持点一下应用包就能安装APP?不需要通过hdc命令才能安装
914浏览 • 1回复 待解决
HarmonyOS 视频播放相关
70浏览 • 1回复 待解决
HarmonyOS 属性动画播放次数设置为无限次播放时,怎样手动结束动画
40浏览 • 1回复 待解决
HarmonyOS 两个List互相锚点功能
27浏览 • 1回复 待解决
HarmonyOS 用GSYVideoPlayer三方库实现了列表中的视频播放,目前需要滑动到屏幕中心的视频,自动播放
564浏览 • 1回复 待解决
主线程怎么才能判断子线程是否已经执行结束了
6830浏览 • 1回复 待解决
HarmonyOS XComponent播放视频问题
32浏览 • 1回复 待解决
HarmonyOS 视频后台播放问题
25浏览 • 1回复 待解决
HarmonyOS 列表视频滚动播放
422浏览 • 1回复 待解决
HarmonyOS 视频列表播放问题
75浏览 • 1回复 待解决
小窗视频转全屏播放,播放的视频占满全屏
2081浏览 • 1回复 待解决
HarmonyOS 视频播放器Video播放在线视频问题
1011浏览 • 1回复 待解决
HarmonyOS AVPlayer播放视频,退出页面后台播放时,视频会停止
536浏览 • 1回复 待解决
HarmonyOS 点击埋点和曝光埋点的最佳实践是什么?
621浏览 • 1回复 待解决
代码如下: