AudioRecord получает тайм-аут буфера с AudioRecorder.startRecording () - PullRequest
0 голосов
/ 14 декабря 2011

У меня проблема с моей программой, которая записывает микрофон. Иногда, когда я запускаю его, у меня появляются следующие предупреждения, и звук фактически не записывается:

12-14 11:17:50.660: W/AudioRecord(1857): obtainBuffer timed out (is the CPU pegged?) user=00000000, server=00000000

Из того, что я нашел, другие имеют эту проблему с AudioTrack, как объяснено здесь и здесь Однако для меня это AudioRecord, который не работает должным образом. Я понимаю, что буфер не может быть создан по любой причине. При запуске процесса записи появляется предупреждение: recorder.startRecording();

Эта проблема иногда возникает, когда я использую встроенный микрофон в качестве входа, но часто, когда гарнитура Bluetooth используется в качестве входа. Вот мой код для использования микрофона Bluetooth в качестве входа:

audioManage = (AudioManager)this.getSystemService(Context.AUDIO_SERVICE);

if (!audioManage.isBluetoothScoOn()) {
    audioManage.setBluetoothScoOn(true);
    audioManage.startBluetoothSco();
    audioStreaming = new AudioStreaming();
} else {
    audioManage.startBluetoothSco();
    audioStreaming = new AudioStreaming();
}

Как я могу форсировать создание буфера?

ИНФОРМАЦИЯ: Я использую Android 3.0 и протестировал программу на планшете Xoom.

EDIT:

Я только что понял, что у меня тоже есть эта ошибка:

12-14 12:13:12.500: E/AudioPostProcessor(2541): Error reading from audio in: Connection timed out

Только когда программа не работает с Bluetooth. И я не нашел ничего по этому вопросу ...

Ответы [ 2 ]

0 голосов
/ 16 декабря 2011

Хм, решение было довольно простым ... Я просто не проверял наличие новых обновлений там, где они были доступны ... Проблема была решена сама собой

0 голосов
/ 14 декабря 2011

Попробуйте использовать буфер больше чем minSize и уменьшите частоту дискретизации. Сообщение обычно означает что-то неправильное на уровне ядра, например, глючная интеграция аудио драйвера ALSA, но я не знаю, попадет ли Xoom в дело. Итак, удачи!

...