Hallo habe ich diesen Code hierAudio-Wiedergabe auf Raspberry Pi mit Java
import java.io.File;
import java.io.IOException;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;
import javax.sound.sampled.LineUnavailableException;
import javax.sound.sampled.UnsupportedAudioFileException;
public class Playmusic implements Runnable {
public static void main(String[] args){
Thread t = new Thread(new Playmusic());
t.start();
}
@Override
public void run() {
AudioInputStream audioIn;
try {
audioIn = AudioSystem.getAudioInputStream(new File("test.wav"));
Clip clip;
clip = AudioSystem.getClip();
clip.open(audioIn);
clip.start();
Thread.sleep(clip.getMicrosecondLength()/1000);
} catch (UnsupportedAudioFileException | IOException | LineUnavailableException | InterruptedException e1) {
e1.printStackTrace();
}
}
}
einen Ton auf der Himbeere zu spielen. Aber wenn ich es ausführe, produziert es keine Ausgabe.
Ich habe es sowohl auf Windows-und Linux-Systemen getestet, wo es funktioniert.
Das Programm bemerkt jedoch die Datei, da es für die gesamte Dauer des Sounds schläft und mir keine Runtime-Ausnahme gibt.
Es kann auch nicht der Lautsprecher sein, der das Problem verursacht, weil ich den Sound mit aplay test.wav
wiedergeben kann und es gibt mir eine Ausgabe. Ich wollte die JavaFX-Bibliothek verwenden, aber sie scheint auf der heruntergeschnittenen Java-Version von Resbian entfernt zu sein.
Haben Sie versucht, dies auf sagen Windows auszuführen? Du machst es spezifisch über Himbeer-Pi, aber das wäre ein Ablenkungsmanöver, wenn der Code auch nicht woanders funktioniert. – Gimby
Ja, ich habe es auf Windows und Linux versucht und es funktioniert auf beiden. Ich denke, Java hat eine Art Problem, die Audioausgabe zu beachten –
Sie sollten Ihre Frage bearbeiten und die Tatsache hinzufügen, dass der Code getestet und unter Windows und Linux funktioniert; Es ist ein ziemlich wichtiger Hinweis, dass es tatsächlich Himbeer-Pi-spezifisch sein kann. Wenn Sie Java-Version auf dem PI ausführen, was gibt das aus? – Gimby