AudioRecord录音 保存的数据值都为0

同一套安卓代码,换个设备后,打印buffer里保存的数据值都为0,播放没有声音,请问怎么解决?(跟声道个数应该没关系吧?)
short[] buffer = new short[recBufSize];
while (isRecording) {
readsize = audioRecord.read(buffer, 0, recBufSize);
synchronized (inBuf) {
for (int i = 0; i < readsize; i += rateX) {
inBuf.add(buffer[i]);

}

}

...
}

恩。。我也发现了这个问题。。
android7.1和android6.0录音机的代码是一样的。。
但是7.1会报找不到SD卡,6.0的正常。。
然后我就把6.0的录音机代码直接拷到7.1下编译了。。

7.0新增了FileProvider,需要在AndroidManifest.xml中声明