首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android: AudioRecord中推荐的AudioRecord值

Android: AudioRecord中推荐的AudioRecord值
EN

Stack Overflow用户
提问于 2013-09-15 17:48:50
回答 1查看 2.2K关注 0票数 6

我使用的是AudioRecord类,构造函数是:

代码语言:javascript
复制
AudioRecord(
    int audioSource, int sampleRateInHz,
    int channelConfig, int audioFormat, int bufferSizeInBytes)

在我在互联网上找到的所有(或大部分)教程和示例中,建议设置bufferSizeInBytes,如下所示:

代码语言:javascript
复制
bufferSizeInBytes= getMinBufferSize (
    int sampleRateInHz, int channelConfig, int audioFormat) 

有人能告诉我原因吗?

我需要在我正在记录的值和一个模式之间进行关联。此模式比MinBufferSize长。所以,我应该将bufferSizeInBytes增加到我喜欢的值,还是这样会使AudioRecord的性能恶化。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-16 13:12:35

有人能告诉我原因吗?

因为给定配置的getMinBufferSize返回的是最小的缓冲区大小,所以在创建AudioRecord时可以指定。

为什么你想要最小的缓冲区大小?以获得尽可能低的延迟。

假设您正在做一些类似SPL计量器的事情;您不希望在UI对声压的变化作出反应之前有一秒的延迟。

不过,缓冲区大小并不决定您可以从read()请求多少数据。请求比AudioRecord's缓冲区大小更多的数据是可以的;read()只是在读取了所请求的所有数据之后才返回。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18815518

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档