HarmonyOS 音频播放帧率控制

AudioRenderer中"writeData"回调帧率如何控制, 为什么录制和播放使用相同的参数, 播放的回调在100毫秒左右一次, 而录制在20毫秒左右, 这个是否有控制参数, 我们该如何处理? 我们需要播放的回调也控制在20毫秒?

HarmonyOS
4天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

​播放的100ms左右一次回调是因为一次回调会向应用获取93ms的数据量。

播放控制在20毫秒:c接口的话可以在OH_AudioStreamBuilder_GenerateRenderer之前调用OH_AudioStreamBuilder_SetFrameSizeInCallback(OH_AudioStreamBuilder* builder, int32_t frameSize);frameSize是想设置的一次回调数据量的毫秒数和采样率算出来的采样点数

比如说48k资源,一毫秒是48个采样点,你想设成一次回调传入20ms的数据量,就把frameSize传为48 * 20 = 960。在ArkTS侧暂不支持调用。

采样率跟回调速率是没有关系的,采样率是跟你用的音源相关的,音频文件是多少k的采样率格式你就得设置多少的采样率。

一次回调写的数据量(写成定值的93ms时长对应的数据量)这个值现在在ArkTS接口里暂时是改不了的。​

分享
微博
QQ
微信
回复
4天前
相关问题
HarmonyOS音频播放问题
318浏览 • 1回复 待解决
HarmonyOS 音频后台播放问题
320浏览 • 1回复 待解决
HarmonyOS 音频录制与播放
488浏览 • 1回复 待解决
HarmonyOS实现后台播放音频
325浏览 • 1回复 待解决
HarmonyOS 音频播放设备的切换
74浏览 • 1回复 待解决
HarmonyOS 播放本地音频文件
51浏览 • 1回复 待解决
HarmonyOS 音频播放相关问题咨询
78浏览 • 1回复 待解决
HarmonyOS 如何判断音频是否在播放
271浏览 • 1回复 待解决
HarmonyOS 音频播放的缓存大小太大
72浏览 • 1回复 待解决
基于AVPlayer音频后台播放
437浏览 • 1回复 待解决
SoundPool实现音频播放功能
1205浏览 • 1回复 待解决
AudioCapturer录音+AudioRenderer播放音频
1151浏览 • 1回复 待解决
请提供HarmonyOS音频播放器实例代码
243浏览 • 0回复 待解决
AVplayer开发音频播放功能
1072浏览 • 1回复 待解决
OH _Audio播放音频问题
1976浏览 • 1回复 待解决
怎么控制播放时不息屏?
6206浏览 • 1回复 待解决
鸿蒙 如何使用 player 播放网络音频
7385浏览 • 1回复 已解决
使用AudioRenderer开发音频播放功能
980浏览 • 1回复 待解决