这个是因为stop的时候不能放在同步线程里。(只有部分手机有此问题,确实是几种手机才会出现)
while (isRecording) {
int bufferReadResult = audioRecord.read(buffer, 0, bufferSize);
for (int i = 0; i < bufferReadResult; i++)
dos.writeShort(buffer[i]);
//Thread.sleep(1000);
}
// audioRecord.release();
// audioRecord = null;
通常我们会把最后带注释的两行和while一起放到run里。在一般的机器上是没有问题的。但是miuijbl20和魅族mx那两个系统就不行,必须单独写stop方法,放到run之外去停止和释放audioRecord的资源。