如何解决用java创建音频播放器
我正在尝试使用 java 播放一个简单的 mp3 文件。我写的代码是:
public void playAudio(String fileSource) {
try (InputStream music = new FileInputStream(fileSource)) {
AudioStream audioStream = new AudioStream(music);
AudioPlayer.player.start(audioStream);
} catch (Exception e) {
JOptionPane.showMessageDialog(null,"error");
}
}
但是当我提供带有文件路径的方法时,没有播放任何内容。缺少什么代码?谢谢。
解决方法
你的例子可以播放midi、wav文件,也许其他一些文件,但不能播放mp3,因为专利问题,但是如果你可以使用JavaFX,那么你可以像这样播放mp3:
import java.io.File;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
public class MainClass {
public static void main(String[] args) {
com.sun.javafx.application.PlatformImpl.startup(()->{});
Media sound = new Media(new File("C:\\Users\\SomeUser\\Desktop\\someFile.mp3").toURI().toString());
MediaPlayer player = new MediaPlayer(sound);
player.play();
try {
Thread.sleep(20000); //don't exit too early
} catch (InterruptedException e) {
e.printStackTrace();
}
com.sun.javafx.application.PlatformImpl.exit();
}
}
否则您可以使用其他一些库,例如 Java Stream Player
顺便说一下,您的初始示例的正确语法是:
InputStream in = null;
try {
in = new FileInputStream("someFile.wav");
} catch (FileNotFoundException e) {
e.printStackTrace();
}
AudioStream as = null;
try {
as = new AudioStream(in);
} catch (IOException e) {
e.printStackTrace();
}
AudioPlayer.player.start(as);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。