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
1天前
浏览
收藏 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
微信
回复
1天前
相关问题
TransitionEffect动画循环播放如何关闭
1851浏览 • 1回复 待解决
HarmonyOS 无限循环banner效果
15浏览 • 1回复 待解决
如何排查循环引用的问题
577浏览 • 1回复 待解决
HarmonyOS forEach如何提前终止循环
52浏览 • 1回复 待解决
HarmonyOS DatePicker如何取消循环滚动
53浏览 • 1回复 待解决
HarmonyOS Swiper循环问题
438浏览 • 1回复 待解决
SoundPool实现音频播放功能
1408浏览 • 1回复 待解决
HarmonyOS 线程通信 事件循环问题
346浏览 • 1回复 待解决
HarmonyOS SoundPool播放rawfile音频失败
38浏览 • 1回复 待解决
HarmonyOS 如何在for循环中调用await
53浏览 • 1回复 待解决
list 支持循环滚动吗?
2224浏览 • 1回复 待解决
HarmonyOS feature模块循环依赖
26浏览 • 1回复 待解决
HarmonyOS soundpool播放声音的问题
587浏览 • 1回复 待解决
是否允许HAR的循环依赖
2014浏览 • 1回复 待解决
提问
该提问已有0人参与 ,帮助了0人