我无法摆脱这个错误。我已经搜索了很多,但与我的代码(问题)无关
if (recorder.getState() == AudioRecord.STATE_INITIALIZED){
Log.d("VS", "Recorder working....c");
recorder.startRecording();}
BufferedWriter input;
while(status == true) {
minBufSize = recorder.read(buffer, 0, buffer.length);
(buffer,buffer.length,destination,port);
PrintWriter out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
out.write(buffer.toString(), 0, buffer.length);
out.flush();
提前致谢...!
最佳答案
这个异常的原因很明显,字符串长度只有11,缓冲区长度是2560。
out.write(buffer.toString(), 0, buffer.toString().length());
应该可以,它使用字符串长度而不是缓冲区长度。 但如果这就是你想要的,你可以使用
out.write(buffer.toString());
关于java.lang.StringIndexOutOfBoundsException : length=11; regionStart=0; regionLength=2560,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31491289/