【问题标题】:Audio Recode during sleep - Android睡眠期间的音频重新编码 - Android
【发布时间】:2013-08-23 09:30:57
【问题描述】:

我正在使用 Android 中的 AudioRecord 类制作一些应用程序。 可能有人已经问过同样的问题了。但是,我很感激任何见解。

我正在录制如下“声音”:

recorder.startRecording();
Thread.sleep(10000);
recorder.read(buffer, 0, bufferSize);
recorder.stop();

“录音机”是“AudioRecord”类的一个实例。

我可以使用此代码获取数据,但是,我不确定通过这种方式收集的数据是否可靠。

我编写这段代码的目的是停止程序并录制声音 10 秒。

那么,问题是这种方法能否得到正确的语音数据?

谢谢,

【问题讨论】:

    标签: android android-audiorecord


    【解决方案1】:

    使用AudioRecord时,需要不断调用read,以清空正在填充的录音缓冲区。

    http://developer.android.com/reference/android/media/AudioRecord.html#read(byte[], int, int)

    如果您不阅读,缓冲区可能会溢出,然后您将丢失语音数据。

    【讨论】:

    • 感谢您的回复,好的。我想澄清一下。我编辑我的问题。而且,在我当前的代码中,在“Thread.sleep(10000);”之后,我让程序通过“recorder.read(buffer, 0, bufferSize);”读取数据。你的意思是这不正确?好的。无论如何,我会阅读那个文件。谢谢!
    • 这是不正确的,因为在您的 10 秒延迟期间,记录器已经转储了很多数据,因为您没有读取它。记录必须是实时的、高优先级的操作,否则内部缓冲区将无法保存您的数据。
    猜你喜欢
    • 1970-01-01
    • 2011-08-23
    • 2015-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多