簡體   English   中英

使用 Java 在 Raspberry 上播放 wav 文件

[英]Play wav file on Raspberry using Java

如何在 Raspberry(操作系統:Raspbian)上使用 Java 重現 a.wav 文件? 我嘗試了這個並且它有效,但不再有效:現在程序在嘗試播放文件時崩潰(我不知道為什么):

try{
   File adv = new File(pathRasp+"Suoni/avviso20.wav");
   Clip clip = AudioSystem.getClip();
   clip.open(AudioSystem.getAudioInputStream(adv));
   clip.start();
}catch(IOException | LineUnavailableException | UnsupportedAudioFileException ex){
   System.out.println("ERROR" + ex);
}

任何人都知道任何其他方法來重現.wav 文件?

我發現這篇博文可能有幫助,也可能沒有幫助:

https://nealvs.wordpress.com/2017/08/11/java-sound-on-a-raspberry-pi-with-openjdk/

當我在最初使用 Oracle JDK 8 后切換到 OpenJDK 8 時,當我的 Raspberry Pi 上停止播放聲音時,我感到非常沮喪。

為 OpenJDK 編輯 sound.properties 解決了我的問題。

須藤 vim /etc/java-8-openjdk/sound.properties

注釋掉 icedtea 類路徑配置:

#javax.sound.sampled.Clip=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider #javax.sound.sampled.Port=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider #javax.sound.sampled.SourceDataLine=org.classpath.icedtea .pulseaudio.PulseAudioMixerProvider #javax.sound.sampled.TargetDataLine=org.classpath.icedtea.pulseaudio.PulseAudioMixerProvider

從 sun 類路徑配置中刪除注釋:

javax.sound.sampled.Clip=com.sun.media.sound.DirectAudioDeviceProvider javax.sound.sampled.Port=com.sun.media.sound.PortMixerProvider javax.sound.sampled.SourceDataLine=com.sun.media.sound. DirectAudioDeviceProvider javax.sound.sampled.TargetDataLine=com.sun.media.sound.DirectAudioDeviceProvider

問題解決了。

換句話說,您的 Windows 和 Raspi 之間可能有不同的 JDK,它們需要不同的配置。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM