Я пытаюсь настроить аудиорекордер, но постоянно получаю определенную ошибку, и не могу понять, почему. в моем коде я проверил, в каком состоянии находится аудиомагнитофон с журналом до и после метода startrecording().
ar = new AudioRecord(audiosource, sampleRate, channelConfiguration,
audioEncoding, buffersizebytes);
Log.d("info", "ar.getState() before = " + String.valueOf(ar.getState()));
ar.startRecording();
Log.d("info", "ar.getState() after = " +String.valueOf(ar.getState()));
Когда я запускаю приложение, я получаю эти сообщения в logcat.
D/info﹕ ar.getState() before = 1
E/AudioRecord﹕ start() status -38
D/info﹕ ar.getState() after = 1
из того, что я прочитал в документации, состояние 1 может либо соответствовать аудиорекордеру, находящемуся в состояниях RECORDSTATE_STOPPED, либо STATE_INITIALIZED, ни одно из этих двух не должно вызывать проблемы при вызове startRecording().
Статус -38 Я полагаю, что это код errno.h для /* Функция не реализована */ относится ли это к методу startRecording() или, как указано в ошибке, к функции start(), которая не является методом для класса AudioRecorder.< br/>
Я испробовал несколько методов, чтобы убедиться, что функция release() была вызвана, поэтому я не думаю, что проблема в этом.
Любая помощь приветствуется.