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音频缓存问题
1322浏览 • 1回复 待解决
HarmonyOS音频播放问题
1119浏览 • 1回复 待解决
HarmonyOS 音频播放相关
678浏览 • 1回复 待解决
HarmonyOS 播放音频示例
655浏览 • 1回复 待解决
HarmonyOS 音频播放设备切换
1223浏览 • 1回复 待解决
HarmonyOS 音频录制与播放
1541浏览 • 1回复 待解决
HarmonyOS 音频播放帧率控制
928浏览 • 1回复 待解决
HarmonyOS 音频后台播放问题
1286浏览 • 1回复 待解决
HarmonyOS 播放器后台暂停音频播放
744浏览 • 1回复 待解决
HarmonyOS 如何播放rtmp协议音频
553浏览 • 1回复 待解决
HarmonyOS 音频播放相关问题咨询
1248浏览 • 2回复 待解决
是否可以进行音频混合播放
209浏览 • 0回复 待解决
SoundPool实现音频播放功能
2167浏览 • 1回复 待解决