HarmonyOS 音频播放的缓存大小太大

播放44100,SAMPLE_FORMAT_S16LE格式,单通道音频文件。

1、使用this.audioRenderer.on('writeData', this.onNeedCustomAudioData)。

2、查看onNeedCustomAudioData所需buffer的大小。

经实际测试,buffer的大小为8192。测试文件正常10ms数据大小是882。也就是说播放将近100ms的。而且在实时音视频系统中,在请求回调的时候本地需要播放的数据可能没有8192的大小。在数据包不够的情况,返回静音包,会出现沙沙的声音。

尝试使用C++进下渲染播放音频,一次的buffer大小同样很大。

48000采样,双通道的情况

s16格式 单通道大小10ms的数据是 960。

也就是最少缓存需要100ms的数据。

HarmonyOS
2024-11-12 11:49:03
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/_o_h_audio-V5#ZH-CN_TOPIC_0000001847209440__oh_audiostreambuilder_setframesizeincallback

可以使用setframesizeincallback 设置大小,非低延时最低20ms 低延时可设置为5ms、10ms、15ms、20ms。 arkts不能设置。​

分享
微博
QQ
微信
回复
2024-11-12 16:11:47
相关问题
HarmonyOS音频缓存问题
754浏览 • 1回复 待解决
HarmonyOS 音频播放相关
146浏览 • 1回复 待解决
HarmonyOS音频播放问题
591浏览 • 1回复 待解决
HarmonyOS 播放音频示例
159浏览 • 1回复 待解决
HarmonyOS 音频播放设备切换
536浏览 • 1回复 待解决
HarmonyOS 音频播放帧率控制
383浏览 • 1回复 待解决
HarmonyOS 音频录制与播放
887浏览 • 1回复 待解决
HarmonyOS 如何播放rtmp协议音频
115浏览 • 1回复 待解决
HarmonyOS 音频播放相关问题咨询
364浏览 • 1回复 待解决
HarmonyOS 播放器后台暂停音频播放
115浏览 • 1回复 待解决
HarmonyOS 音频后台播放问题
663浏览 • 1回复 待解决
SoundPool实现音频播放功能
1565浏览 • 1回复 待解决
HarmonyOS 关于音频播放最佳实践
302浏览 • 1回复 待解决