【发布时间】:2016-06-14 07:22:34
【问题描述】:
我正在编写一个 Android 应用程序,我依赖于处理麦克风信号。我正在使用 AudioRecord 对象获取数据,并在该对象上执行 read() 函数。
我不太清楚这个函数的工作原理。它会等待下一个 BufferSize 字节并给它们吗?或者它只是从内部缓冲区返回最后一个 BufferSize 字节? IE。如果我在短时间内调用它两次,数据会部分重叠吗?
谢谢!
【问题讨论】:
我正在编写一个 Android 应用程序,我依赖于处理麦克风信号。我正在使用 AudioRecord 对象获取数据,并在该对象上执行 read() 函数。
我不太清楚这个函数的工作原理。它会等待下一个 BufferSize 字节并给它们吗?或者它只是从内部缓冲区返回最后一个 BufferSize 字节? IE。如果我在短时间内调用它两次,数据会部分重叠吗?
谢谢!
【问题讨论】:
与此同时,我编写了代码来找出确切的内部工作原理。 read() 函数实际上只是从内部缓冲区读取最后的 BufferSize 字节。
如果你快速连续调用函数,返回的数据几乎会完全重叠。
【讨论】: