繁体   English   中英

用Java播放音频文件

[英]Play audio files in Java

我正在尝试播放一个简单的音频文件,该文件位于类文件附近的同一目录中。 我从互联网上尝试了许多示例,但是所有其他示例都给了我我什至无法理解的错误。

然后我找到了,现在正在使用它。

既没有编译错误也没有运行时错误。 但是问题是我听不到任何声音。

import java.io.File;
import javax.sound.sampled.AudioInputStream;
import javax.sound.sampled.AudioSystem;
import javax.sound.sampled.Clip;

class A{
    public static void main (String[]args){
        try {
                AudioInputStream audioInputStream = AudioSystem.getAudioInputStream(new File("abc.wav").getAbsoluteFile());
                Clip clip = AudioSystem.getClip();
                clip.open(audioInputStream);
                clip.start();
            } catch(Exception ex) {
                System.out.println("Error with playing sound.");
            }
    }
}

屏幕截图

请注意,我的系统音量为80%,并且音频文件在VLC媒体播放器中播放。

启动音频剪辑不会阻止main方法。 所以

 clip.start();

开始播放,然后返回。 现在您的主要方法结束了,因此Java进程结束了。 没有声音。

如果你这样做

 clip.start();
 Thread.sleep(20000);

您应该会听到剪辑播放了20秒钟。

因此,对于正在运行的程序,只需确保只要要播放剪辑,主线程就不会结束。

保持螺纹一段时间,直到播放音频剪辑。

long audioPlayTime = 1000; //clip duration in miliseconds.
try {
           Thread.sleep(audioPlayTime);
} catch (InterruptedException ex){
            //TODO
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM