繁体   English   中英

Java如何播放从文件选择器选择的mp3文件

[英]Java how to play an mp3 file selected from file chooser

嗨,我已经创建了一个文件选择器,我想知道是否有任何可以播放mp3文件的方法,可以从我的文件选择器中进行选择。 如果可以,那将如何实施? 因此,显然,当我单击一个文件时,什么都没有发生,我只需要单击一个mp3文件,当我单击“打开”时,我就可以听了。

这是我的文件选择器代码。

  JFileChooser chooser = new JFileChooser();
       File F = new File("C:/");
       File namedir;
       File namepath;

       chooser.setCurrentDirectory(F);
       chooser.showOpenDialog(null);
       chooser.setDialogTitle("Choose file to play");
       chooser.setApproveButtonText("Play");
  namedir = chooser.getCurrentDirectory();
  namepath = chooser.getSelectedFile();
  System.out.print("the name of the the directory is "+namedir.getName());
  System.out.print("the name of the the path is "+namepath.getAbsolutePath());
   String fileName=null;
String fileName=null;
JFileChooser chooser = new JFileChooser();
    FileNameExtensionFilter filter = new FileNameExtensionFilter(
        "MP3 Files", "mp3");
    chooser.setFileFilter(filter);
    int returnVal = chooser.showOpenDialog(parent);
    if(returnVal == JFileChooser.APPROVE_OPTION) {
       fileName=     chooser.getSelectedFile().getName();
    }
MediaPlayer mediaPlayer = new MediaPlayer(new Media(fileName));
mediaPlayer.play();

这是完整的工作代码

import java.net.URL;
import java.util.concurrent.CountDownLatch;
import java.util.logging.Level;
import java.util.logging.Logger;
import javafx.embed.swing.JFXPanel;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
import javax.swing.JFileChooser;
import javax.swing.SwingUtilities;
import javax.swing.filechooser.FileNameExtensionFilter;

/**
 *
 * @author Mayank Aggarwal
 */
public class MyAudio {

    public static void main(String[] args) {
        new MyAudio().start();
    }

    public void start() {

        String fileName = null;
        URL url;
        final CountDownLatch latch = new CountDownLatch(1);
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                new JFXPanel(); // initializes JavaFX environment
                latch.countDown();
            }
        });
        try {
            latch.await();
        } catch (InterruptedException ex) {
            Logger.getLogger(MyAudio.class.getName()).log(Level.SEVERE, null, ex);
        }
        JFileChooser chooser = new JFileChooser();
        FileNameExtensionFilter filter = new FileNameExtensionFilter(
                "MP3 Files", "mp3");
        chooser.setFileFilter(filter);
        int returnVal = chooser.showOpenDialog(null);
        if (returnVal == JFileChooser.APPROVE_OPTION) {
            fileName = chooser.getSelectedFile().toURI().toString();

        }
        MediaPlayer mediaPlayer;
        mediaPlayer = new MediaPlayer(new Media(fileName));
        mediaPlayer.play();
    }
}

暂无
暂无

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

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