android - AudioRecord::processAudioBuffer() 音频缓冲区来自哪里?
问题描述
我查看了录制语音程序并在 AudioRecord::processAudioBuffer() 中被阻止,这是代码
nsecs_t AudioRecord::processAudioBuffer() { ... status_t err = gainBuffer(&audioBuffer, 请求, NULL, &nonContig); ... } status_t AudioRecord::obtainBuffer(Buffer* audioBuffer, const struct timespec *requested, 结构 timespec *elapsed, size_t *nonContig) { ... status = proxy->obtainBuffer(&buffer, 请求, elapsed); ... audioBuffer->raw = buffer.mRaw; ... } __attribute__((no_sanitize("integer"))) status_t ClientProxy::obtainBuffer(Buffer* buffer, const struct timespec *requested, 结构时间规格*经过){ ... 缓冲区->mRaw = part1 > 0 ? &((char *) mBuffers)[(mIsOut ? 后: 前) * mFrameSize]: NULL; ... }
我试图找出 ClientProxy.mBuffers 数据的填充位置以及 audioflinger 如何将解码后的语音数据传递给 ClientProxy.mBuffers,但我迷失在 audioclient 代码中。
有人可以带我出去吗?谢谢!
解决方案
推荐阅读
- excel - 与案例语句连接
- jquery - 选择第一个可见的标签索引
- python - 如何修复 RuntimeError“标量类型 Float 的预期对象,但参数的标量类型 Double”?
- python - 如何在熊猫中获取两个日期之间的工作日数
- php - 无法从 5.7 更新到 Laravel 5.8
- python - 与常数非张量数相加或相乘时,Keras 的 lambda 层出错
- asp.net - IIS 缺少 Windows 身份验证选项,但添加 Windows 功能也缺少
- git - git cherry pick 从同一个分支
- spring - 带有@Field 的字段未转换为正确的值
- python - PyTorch - 获取 'TypeError: pic 应该是 PIL Image 或 ndarray。得到
' 错误