文件扩展名 - 用于文件。 (.Mp3 和.Wav)
File Extension - Use it for files. (.Mp3 and .Wav)
我设法制作了一个可以理解 Java 中的 mp3 的程序(通过 jaco.mp3 jar)并且它可以工作。然而,这意味着 .Wav 文件当然不起作用。所以我修好了,这样我就可以使用 Wav,但问题是我不能使用 mp3。所以我发现我可以使用文件扩展名,我的想法是这样:
如果最后3或4个字母以.mp3结尾,则执行mp3方法,如果是.Wav,则执行Wave方法。但我真的不知道如何一起管理它,我更像是一个 Switch 语句。但我之前真的从未使用过文件扩展名,可能需要一些帮助!
然而,这是我现在的 mp3 方法:
public void Choose() {
String userDir = System.getProperty("user.home");
JFileChooser fileChooser = new JFileChooser(userDir +"/Desktop");
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
System.out.println(selectedFile.getName());
mp3_player = new MP3Player(selectedFile);
lblPlayURL.setText(selectedFile.getName());
}
}
}
如您所见,我有一个 JFileChooser,我当然可以在其中选择我想要的歌曲,而且我仍然想这样做,唯一不同的是现在它应该可以同时作为 .Wav 和 .mp3 工作。但我真的不知道如何进一步处理它。所以需要你们的帮助! :)
在人们试图从一个显示 Playing .Wav and .Mp3 的线程中给出任何建议之前。我首先要说的是,我已经阅读了它,并且只有关于它们每个的答案,只有 mp3 或 .Wav。不是都。所以这就是我创建此线程的原因,因为我需要帮助!
您也许可以检查文件路径是否以 MP3 或 WAV 结尾,并根据条件对 运行 不同程序进行 if 语句。
可以这样做:
String ext = selectedFile.getPath();
if(ext.endsWith(".wav"))
{
// A WAV file was chosen
}
else if(ext.endsWith(".mp3"))
{
// An MP3 file was chosen
}
else
{
// Something else was chosen
}
编辑:这种方法加上 Bogdan 的回答可能是您最好的选择。
将 FileFilter
规则添加到您的 JFileChooser
以匹配 .mp3 和 .wav 文件:
fileChooser.addChoosableFileFilter(new FileTypeFilter(".mp3", "MP3 Files"));
fileChooser.addChoosableFileFilter(new FileTypeFilter(".wav", "WAV files"));
我设法制作了一个可以理解 Java 中的 mp3 的程序(通过 jaco.mp3 jar)并且它可以工作。然而,这意味着 .Wav 文件当然不起作用。所以我修好了,这样我就可以使用 Wav,但问题是我不能使用 mp3。所以我发现我可以使用文件扩展名,我的想法是这样:
如果最后3或4个字母以.mp3结尾,则执行mp3方法,如果是.Wav,则执行Wave方法。但我真的不知道如何一起管理它,我更像是一个 Switch 语句。但我之前真的从未使用过文件扩展名,可能需要一些帮助!
然而,这是我现在的 mp3 方法:
public void Choose() {
String userDir = System.getProperty("user.home");
JFileChooser fileChooser = new JFileChooser(userDir +"/Desktop");
int returnValue = fileChooser.showOpenDialog(null);
if (returnValue == JFileChooser.APPROVE_OPTION) {
File selectedFile = fileChooser.getSelectedFile();
System.out.println(selectedFile.getName());
mp3_player = new MP3Player(selectedFile);
lblPlayURL.setText(selectedFile.getName());
}
}
}
如您所见,我有一个 JFileChooser,我当然可以在其中选择我想要的歌曲,而且我仍然想这样做,唯一不同的是现在它应该可以同时作为 .Wav 和 .mp3 工作。但我真的不知道如何进一步处理它。所以需要你们的帮助! :)
在人们试图从一个显示 Playing .Wav and .Mp3 的线程中给出任何建议之前。我首先要说的是,我已经阅读了它,并且只有关于它们每个的答案,只有 mp3 或 .Wav。不是都。所以这就是我创建此线程的原因,因为我需要帮助!
您也许可以检查文件路径是否以 MP3 或 WAV 结尾,并根据条件对 运行 不同程序进行 if 语句。
可以这样做:
String ext = selectedFile.getPath();
if(ext.endsWith(".wav"))
{
// A WAV file was chosen
}
else if(ext.endsWith(".mp3"))
{
// An MP3 file was chosen
}
else
{
// Something else was chosen
}
编辑:这种方法加上 Bogdan 的回答可能是您最好的选择。
将 FileFilter
规则添加到您的 JFileChooser
以匹配 .mp3 和 .wav 文件:
fileChooser.addChoosableFileFilter(new FileTypeFilter(".mp3", "MP3 Files"));
fileChooser.addChoosableFileFilter(new FileTypeFilter(".wav", "WAV files"));