Ign*_*rre 6 android audiorecord
我正在使用AudioRecord类,其构造函数是:
AudioRecord(
int audioSource, int sampleRateInHz,
int channelConfig, int audioFormat, int bufferSizeInBytes)
Run Code Online (Sandbox Code Playgroud)
在我在互联网上找到的所有(或大多数)教程和示例中,建议设置bufferSizeInBytes,如下所示:
bufferSizeInBytes= getMinBufferSize (
int sampleRateInHz, int channelConfig, int audioFormat)
Run Code Online (Sandbox Code Playgroud)
谁能告诉我原因?
我需要在记录的值和模式之间建立相关性.此模式比MinBufferSize长.那么,我应该将bufferSizeInBytes增加到我喜欢的值,还是会使AudioRecord的性能恶化.
谁能告诉我原因?
因为getMinBufferSize给定配置的返回值是您在创建时允许指定的最小缓冲区大小AudioRecord.
为什么你想要尽可能小的缓冲区大小?获得尽可能低的延迟.
想象一下,你正在做一个类似SPL仪表的事情; 在你的UI对声压的变化作出反应之前,你不希望有一秒钟的延迟.
但是,缓冲区大小并不能确定您可以请求的数据量read().可以请求比AudioRecord's缓冲区大小更多的数据; read()只有在您请求的所有数据都被读取后才会返回.
| 归档时间: |
|
| 查看次数: |
1727 次 |
| 最近记录: |