如何解决实例化javafx Media对象时,为什么会引发IllegalArgumentException?
我正在用Java编写游戏,并且在我创建的名为“音频”的类中使用Media和MediaPlayer类来播放.mp3文件。这是我的代码:
Main类的相关部分:
Audio audio = new Audio(audioPath + "oxygen-theme-song.mp3");
audio.play();
音频类:
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javafx.util.Duration;
public class Audio {
private Media audio;
private MediaPlayer audioPlayer;
public Audio(String audioPath) {
audio = new Media(audioPath);
audioPlayer = new MediaPlayer(audio);
}
public void play() {
audioPlayer.play();
}
public void stop() {
audioPlayer.pause();
audioPlayer.setStartTime(Duration.ZERO);
}
}
这将引发以下异常:
Exception in thread "main" java.lang.IllegalArgumentException: uri.getScheme() == null! uri == 'Sound-Effects/oxygen-theme-song.mp3'
at javafx.media/com.sun.media.jfxmedia.locator.Locator.<init>(Locator.java:218)
at javafx.media/javafx.scene.media.Media.<init>(Media.java:393)
at primecubed.oxygen.Audio.<init>(Audio.java:12)
at primecubed.oxygen.Main.main(Main.java:118)
.mp3文件确实存在于正确的位置,因此我无法想到抛出此错误的原因。有人可以帮忙吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。