我想用Java制作一个播放播放列表歌曲的音乐播放器应用程序。
Media playlist[] = new Media[1000];
int count = 0;
for (int i = 0; i<1000; i++)
playlist[i]=new Media(""); // this line
播放列表中加载了一种方法:
public void addSongToPlaylist(File file){
playlist[count] = new Media(file.toURI().toString());
count++;
}
当我运行我的程序时,抛出此异常:
Exception in thread "main" java.lang.IllegalArgumentException: uri.getScheme() == null! uri == ''
at com.sun.media.jfxmedia.locator.Locator.<init>(Locator.java:211)
at javafx.scene.media.Media.<init>(Media.java:393)
at musicplayerapp.MusicPlayerGUI.<init>(MusicPlayerGUI.java:32)
at musicplayerapp.MusicPlayerApp.main(MusicPlayerApp.java:25)
我的问题是:如何使用空媒体对象初始化名为Playlist的数组,以便不抛出任何异常?或者你能建议更好地解决这个问题吗?
没有“空媒体”对象这样的东西。如果您担心null
s,只需使用List
而不是数组:
private List<Media> playlist = new ArrayList<>();
public void addSongToPlaylist(File file){
playlist.add(new Media(file.toURI().toString()));
}