我遵循这个java教程,我遇到了如何播放音频,我按照确切的步骤编写代码,然而,尽管如此,我得到了一个错误消息,我怀疑视频是过时的,因为它只有一个月的历史,所以我不确定是什么问题。
以下是我编写的代码:
import javax.sound.sampled.*;
import java.io.File;
import java.io.IOException;
import java.util.Scanner;
public class Main
{
public static void main(String[] args) throws IOException, UnsupportedAudioFileException, LineUnavailableException
{
Scanner sc = new Scanner(System.in);
File file = new File("bababooey.wav");
AudioInputStream audioStream = AudioSystem.getAudioInputStream(file);
Clip clip = AudioSystem.getClip();
clip.open(audioStream);
clip.start();
String response = sc.next();
}
}
下面是我一直收到的错误信息:
"C:\Program Files\AdoptOpenJDK\jdk-15.0.1.9-hotspot\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.4\lib\idea_rt.jar=57472:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2020.2.4\bin" -Dfile.encoding=UTF-8 -classpath "C:\Users\1ando\Documents\Programming\Java\Complete Java Tutorial\Audio\out\production\Audio" Main
Exception in thread "main" java.lang.IllegalArgumentException: Audio data < 0
at java.desktop/com.sun.media.sound.DirectAudioDevice$DirectClip.open(DirectAudioDevice.java:1086)
at Main.main(Main.java:12)
Process finished with exit code 1
我非常感谢您的回复,谢谢
1条答案
按热度按时间chy5wohz1#
除了缺少try/catch来捕获任何异常之外,您的代码对我很有用。
检查audioinputstream、audiosystem、clip、lineunavailableexception和unsupportedaudiofileexception的导入。所有这些类都应该是javax.sound.sampled包的一部分。进口应:
代码可以是这样的: