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音频缓存问题
513浏览 • 1回复 待解决
HarmonyOS音频播放问题
420浏览 • 1回复 待解决
HarmonyOS 音频播放设备切换
246浏览 • 1回复 待解决
HarmonyOS 音频录制与播放
631浏览 • 1回复 待解决
HarmonyOS 音频播放帧率控制
232浏览 • 1回复 待解决
HarmonyOS 音频后台播放问题
467浏览 • 1回复 待解决
HarmonyOS 音频播放相关问题咨询
186浏览 • 1回复 待解决
HarmonyOS实现后台播放音频
484浏览 • 1回复 待解决
HarmonyOS 播放本地音频文件
213浏览 • 1回复 待解决
SoundPool实现音频播放功能
1359浏览 • 1回复 待解决
HarmonyOS 如何判断音频是否在播放
383浏览 • 1回复 待解决
基于AVPlayer音频后台播放
579浏览 • 1回复 待解决
SoundPool播放音频是否支持WMV格式
1924浏览 • 1回复 待解决
OH _Audio播放音频问题
2125浏览 • 1回复 待解决