HarmonyOS 鸿蒙Next:再发一遍,SoundPool 一次能载入多少个音频文件?
HarmonyOS 鸿蒙Next:再发一遍,SoundPool 一次能载入多少个音频文件?
soundstr数组里面有80个音频文件,没个文件大小不超过10kb,循环载入音频文件,每次载入到32个左右就报错了 错误:soundPool load failed and catch error is load sound failed=============5400102 首先音频测试没有问题,是不能这样载入吗,还是数量有限制,如果载入量多的音频怎么载入,以前做android就是一次性初始化音频 求助求助求助求助 soundPool = await media.createSoundPool(soundstr.length, audioRendererInfo);
for(let i=0;i<soundstr.length;i++){ console.info(‘soundPool soundstr=======i===================’+i+"=============") try { context.resourceManager.getRawFd(soundstr[i], (error: BusinessError, value: resourceManager.RawFileDescriptor) => { if (error != null) { console.error(callback getRawFd failed error code: ${error.code}, message: ${error.message}.
); } else { let fd = value.fd; let offset = value.offset; let length = value.length; uri = ‘fd://’ + fd.toString(); soundPool.load(fd, offset, length).then((soundId: number) => {console.info('soundPool load uri success==='+soundId+"soundstr[i]="+soundstr[i]); soundMap.set(soundstr[i],soundId); }).catch((err: BusinessError) => { console.error('soundPool load failed and catch error is ' + err.message+"============="+err.code); }) } });
} catch (error) { let code = (error as BusinessError).code; let message = (error as BusinessError).message; console.error(
callback getRawFd failed, error code: ${code}, message: ${message}.
); } }
关于HarmonyOS 鸿蒙Next:再发一遍,SoundPool 一次能载入多少个音频文件?的问题,您也可以访问:https://www.itying.com/category-93-b0.html 联系官网客服。
4 回复
官方api有介绍,创建SoundPool实例时,需要明确最大播放流数量。
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/using-soundpool-for-playback-V5
希望HarmonyOS能加强与其他品牌设备的兼容性,让更多人受益。
已经明确了soundstr.length,数组值是80,然后载入音频,载入到30多个以后后面的音频就载入出错了,现在有需求时需要这些音效
抱歉,没太细看你的问题,建议在issue上提个单:https://issuereporter.developer.huawei.com/new-issue/add