繁体   English   中英

文件扩展名-用于文件。 (.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语句。 但是我之前从未真正使用过文件扩展名,因此可能需要som帮助!

但是,这是我现在的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的形式工作。 但是我真的不知道该怎么做。 因此,你们需要任何帮助! :)

在人们尝试从播放“ .Wav和.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"));

如何为JFileChooser对话框添加文件过滤器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM