Ich beschäftige mich gerade mit der Klangverarbeitung mit Hilfe von Java. In meinem Projekt muss ich mit dem Stream umgehen. Ich habe also mit einer Menge von Stäben zu tun DataLine
y OutputStream
o InputStream
. Aber für mich sind sie zu ähnlich:(
Gibt es jemanden, der mir bei dieser Frage helfen kann? Vielen Dank im Voraus! Hier sind einige Codes, die ich verwendet habe
TargetDataLine line;
ByteArrayOutputStream out = new ByteArrayOutputStream();
int frameSizeInBytes = format.getFrameSize();
int bufferLengthInFrames = line.getBufferSize() / 8;
int bufferLengthInBytes = bufferLengthInFrames * frameSizeInBytes;
byte[] data = new byte[bufferLengthInBytes];
int numBytesRead;
try {
line = (TargetDataLine) AudioSystem.getLine(info);
line.open(format, line.getBufferSize());
} catch (LineUnavailableException ex) {
shutDown("Unable to open the line: " + ex);
return;
} catch (SecurityException ex) {
shutDown(ex.toString());
return;
} catch (Exception ex) {
shutDown(ex.toString());
return;
}
line.start();
while (thread != null) {
if ((numBytesRead = line.read(data, 0, bufferLengthInBytes)) == -1) {
break;
}
out.write(data, 0, numBytesRead);
}
Ich habe die Dokumentation der Klasse gelesen ZielDatenZeile heißt es:"'read(byte[] b, int off, int len)' Liest Audiodaten aus dem Eingangspuffer der Datenleitung."
Aber wo definieren wir sie?
Auch die Zeile vom Typ TargetDataLine wurde keinem Mischer zugeordnet, wie können wir also wissen, für welchen Mischer sie bestimmt ist?