在使用完AudioStreams之后,需要手动调用close()函数来释放资源。示例代码如下:
AudioInputStream audioInputStream = //获取AudioInputStream对象
SourceDataLine sourceDataLine = //获取SourceDataLine对象
byte[] buffer = new byte[BUFFER_SIZE];
int bytesRead = -1;
while((bytesRead = audioInputStream.read(buffer)) != -1) {
//将buffer数据写入到sourceDataLine中
sourceDataLine.write(buffer, 0, bytesRead);
}
//使用完毕之后,需要手动调用close()方法释放资源
audioInputStream.close();
sourceDataLine.close();