我想使用javax.sound直播声音(并将音频以固定的时间间隔(例如一小时)保存到文件中)。
我在这里遵循了javax.sound的指南:https://www.developer.com/java/other/article.php/1565671/Java-Sound-An-Introduction.htm,但这不是用于实时流的(但是使用线程)。 我已经看到通过套接字在网络上完成流传输,但这对我来说是不必要的(并且可能性能较低): Live audio stream java
我特别不知道如何交换其他Stack用户拥有的DatagramSocket:
try
{
line = (TargetDataLine) AudioSystem.getLine(info);
int buffsize = line.getBufferSize()/5;
buffsize += 512;
line.open(format);
line.start();
int numBytesRead;
byte[] data = new byte[buffsize];
addr = InetAddress.getByName("127.0.0.1");
DatagramSocket socket = new DatagramSocket();
while (true) {
// Read the next chunk of data from the TargetDataLine.
numBytesRead = line.read(data, 0, data.length);
// Save this chunk of data.
dgp = new DatagramPacket (data,data.length,addr,50005);
socket.send(dgp);
}
}catch (LineUnavailableException e) {
e.printStackTrace();
}catch (UnknownHostException e) {
// TODO: handle exception
} catch (SocketException e) {
// TODO: handle exception
} catch (IOException e2) {
// TODO: handle exception
}
我希望获得这种流传输功能,并能够接收发送的数据并将其复制以保存到文件中