我正在编写一个程序来实时录制和播放声音。它运行良好,但在我调用电话并结束电话后,程序播放了大约 1 秒,然后它没有错误地静音。 我错误地检查值并看到 audioRecord.read(buffer, 0, buffer.leng) 返回填充了零值的数组。 感谢您的帮助!
最佳答案
您的手机控制了麦克风并阻止了它的录音。检查并查看是否发生这种情况 Log
read()
while(recording) {
int resultOfRead = audioRecord.read(anArray, 0, anArray.length);
Log.d("MY_TAG", "Read result: " + resultOfRead);
if(resultOfRead < 0) {
try {
Thread.sleep(100, 0);
audioRecord.startRecording(); // restart audio recording
} catch(Exception e) {
Log.e(TAG, "exception", e); // Error trying to sleep thread
}
}
}
关于Android: AudioRecord.read() 调用后返回数组填充 "0",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27184268/