Почему AudioRecord не записывает звук, когда устройство засыпает, даже когда я использую WakeLock?Android

Форум для тех, кто программирует под Android
Anonymous
Почему AudioRecord не записывает звук, когда устройство засыпает, даже когда я использую WakeLock?

Сообщение Anonymous »

Я записываю звук с устройства с помощью AudioRecord и записываю его в файл .wav, и мне нужно, чтобы он продолжал записывать и записывать в файл, даже когда устройство отключается. спать. Поэтому я использовал WakeLock с аргументом PARTIAL_WAKE_LOCK. Но после того, как устройство заснуло, AudioRecord продолжает запись, но звука нет. Когда я открываю файл .wav, с момента перехода устройства в спящий режим происходит молчание.

Код: Выделить всё

audioRecord.startRecording();
isReading = true;
totalSizeInBytes = 0;
new Thread(new Runnable() {
@Override
public void run() {
short[] buffer = new short[bufferSize]; //buffer of shorts, getting from audioRecord
int readCount;
int state;
int check = 0;
//wakeLock initialization and acquiring
PowerManager pm = (PowerManager)getSystemService(Context.POWER_SERVICE);
wakeLock = pm.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "MyApp:RecordWakeLock");
wakeLock.acquire();
if (isWavFileCreated) {
while (isReading) {
Log.d(TAG, audioRecord.getRecordingState() + "");
readCount = audioRecord.read(buffer, 0, bufferSize);
writeWavFile(buffer);
}
writeWavFileHeader();
try {
dos.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}).start();
audioRecord.getRecordState() всегда возвращает true. Я не знаю, в чем проблема.

Подробнее здесь: https://stackoverflow.com/questions/546 ... en-i-use-w

Вернуться в «Android»