HarmonyOS OH_AUDIO是否可以设置/提供内部缓冲区大小及相应的设备渲染时长

一般而言,在进行音频渲染时。内部渲染器会有一个缓冲区,在缓冲区充足时,会产生回调给外部,让外部输入数据。

若在内部缓冲区满的情况下,刚输入的数据,会在一定时长后才会渲染,这个时长是根据缓冲区大小和输入音频数据的格式确定。

为了音画同步,我们需要知道缓冲区大小。

一般情况下,在外接设备时(蓝牙耳机,音响等),硬件从内部缓冲区获取到音频数据时,需要一定的时间才会传入到相应外接设备中。

为了音画同步,因此我们也需要这个时长。

HarmonyOS
2024-08-22 18:57:29
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zxjiu

可以通过这个MyOnWriteData设置buffer长度,参考链接:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/media/audio/using-ohaudio-for-playback.md

非低时延不设置的话是93ms的大小 低时延不设置是5ms大小

普通通路有个设buffer为20ms的优化,参考链接:

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-audio-kit/_o_h_audio.md#oh_audiostreambuilder_setframesizeincallback

获取延时大小的接口参考链接:GetAudioTime

https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/reference/apis-audio-kit/_o_h_audio.md

分享
微博
QQ
微信
回复
2024-08-23 13:57:00
相关问题
HarmonyOS OH_Audio 需要提供 mute 方法
443浏览 • 1回复 待解决
HarmonyOS 生成xml时缓冲区大小问题
366浏览 • 1回复 待解决
OH _Audio播放音频问题
2180浏览 • 1回复 待解决
postgresql是否可以做表大小限制
3995浏览 • 1回复 待解决
radioButton可以单独设置图标大小
8140浏览 • 1回复 待解决
HarmonyOS 如何获取设备显示大小
31浏览 • 1回复 待解决
HarmonyOS 系统提供amr播放录制
365浏览 • 1回复 待解决