HarmonyOS SoundPool循环播放,循环之间会有停顿,如何设置?

let playParameters: media.PlayParameters = {
  loop: -1, // 无限循环
  rate: audio.AudioRendererRate.RENDER_RATE_NORMAL, // 正常倍速
  leftVolume: 1, // range = 0.0-1.0
  rightVolume: 1, // range = 0.0-1.0
  priority: 100, // 最低优先级
}
this.soundPool?.play(this.soundID, playParameters, (error: BusinessError, streamId: number) => {
  if (error) {
    console.error(`Failed to play soundpool: errCode is ${error.code}, errMessage is ${error.message}`)
  } else {
    //streamID = streamId;
    console.info('Succeeded in playing soundpool, streamId:' + streamId);
  }
});

每次播放完一遍,会停顿一下,然后再播放,请问如何无缝衔接循环播放?

HarmonyOS
2024-12-25 16:13:43
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

使用SoundPool目前是没有办法做到无缝循环的 因为pool setLoop做循环是使用的音频池,而且是异步调用中间是有处理的过程需要耗时会有停顿。

如果实现停顿就不能使用SoundPool,可使用AVPlayer做循环播放,详情参考链接: https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-avsession-V5#setavplaybackstate10

分享
微博
QQ
微信
回复
2024-12-25 19:26:20
相关问题
TransitionEffect动画循环播放如何关闭
2643浏览 • 1回复 待解决
HarmonyOS Image播放gif没有自动循环播放
772浏览 • 1回复 待解决
HarmonyOS forEach return退出循环
1231浏览 • 1回复 待解决
HarmonyOS 无限循环banner效果
952浏览 • 1回复 待解决
如何排查循环引用的问题
2006浏览 • 1回复 待解决
HarmonyOS forEach如何提前终止循环
1091浏览 • 1回复 待解决
HarmonyOS DatePicker如何取消循环滚动
999浏览 • 1回复 待解决
HarmonyOS ArkTS如何循环遍历对象
2036浏览 • 1回复 待解决
HarmonyOS Swiper循环问题
1205浏览 • 1回复 待解决
HarmonyOS 线程通信 事件循环问题
982浏览 • 1回复 待解决
路由循环跳转如何处理
524浏览 • 0回复 待解决
list 支持循环滚动吗?
3057浏览 • 1回复 待解决
HarmonyOS 如何在for循环中调用await
938浏览 • 1回复 待解决
SoundPool实现音频播放功能
3542浏览 • 1回复 待解决
HarmonyOS 循环水平滚动
618浏览 • 1回复 待解决
HarmonyOS feature模块循环依赖
1093浏览 • 1回复 待解决
HarmonyOS SoundPool播放rawfile音频失败
924浏览 • 1回复 待解决