Verwenden Sie die LINE Messaging-API, um die Dauer der Sprachdatei abzurufen, wenn Sie * das offizielle LINE-Konto mit unserem Webdienst-Chat-Tool Channel Talk verknüpfen. Übrigens bin ich gestolpert, also teile es.
Um die von Channel Talk hochgeladene Audiodatei mit dem offiziellen LINE-Konto zu synchronisieren, damit sie von der Endbenutzerseite aus gesehen werden kann, wird die Audiodatei an die Messaging-API gesendet, aber auch die Länge der Audiodatei muss gesendet werden.
Es gibt jedoch keine API, um die Länge dieser Audiodatei aus der Datei abzurufen.
Aber die Methode ist einfach. Sie können es selbst implementieren. Sie kann aus der Gesamtzahl der Bilder, die aus der Audiodatei abgerufen werden können, und der Bildrate berechnet werden.
File file = new File(fileUrl);
try {
//Vorbereiten, um die Metadaten der Audiodatei abzurufen
AudioInputStream stream = AudioSystem.getAudioInputStream(file);
//Gesamtzahl der Frames für Audiodateien
long length = stream.getFrameLength();
AudioFormat format = stream.getFormat();
// frame ->Anzahl der pro Sekunde verarbeiteten Frames
float frame = format.getSampleRate();
//Gesamtzahl der Bilder ➗ Anzahl der pro Sekunde verarbeiteten Bilder=Länge
int duration = (int)(length/frame);
} catch (UnsupportedAudioFileException e) {
return false;
}
Vielleicht hätte ich das von Anfang an tun sollen, ohne nach etwas zu suchen. .. .. Es war einfacher als ich erwartet hatte!