Javafx Media class not working without any error
<p>Why does this program not play music? I am trying to make an application with JavaFX to allow the user to play any MP3 file he wants to play. But it does not work at all! Why?</p>

<p>It gives absolutely no error!</p>

<pre><code>package application;

import java.io.File;
import java.nio.file.Paths;
import java.util.ArrayList;
import javafx.application.Application;
import javafx.scene.control.Alert;
import javafx.scene.control.Alert.AlertType;
import javafx.scene.image.Image;
import javafx.stage.DirectoryChooser;
import javafx.stage.FileChooser;
import javafx.stage.Stage;
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;

public class Start extends Application {

public void start(Stage primStage) {
    try {
        // Validation for first time start

        Alert a = new Alert(AlertType.INFORMATION);
        a.setTitle("Welcome");
        a.setHeaderText("Welcome to Orpheus!");
        a.setContentText("Welcome to Orpheus. Pick the folder in which all your music is located");

        Stage stg = (Stage) a.getDialogPane().getScene().getWindow();
        stg.getIcons().add(new Image(this.getClass().getResource("harp.png").toString()));
        primStage.getIcons().add(new Image(this.getClass().getResource("harp.png").toString()));

        a.showAndWait();

        DirectoryChooser dc = new DirectoryChooser();
        dc.setInitialDirectory(new File(System.getProperty("user.home")));
        dc.setTitle("Pick your folder!");

        File f = dc.showDialog(primStage);
        File[] fileArray = f.listFiles();
        boolean[] song = new boolean[fileArray.length];
        int j = 0;

        if (fileArray != null) {
            for (File child : fileArray) {
                String ext = "";
                int i = child.getName().lastIndexOf('.');

                if (i &gt;= 0) {
                    ext = child.getName().substring(i+1);
                }

                if (ext.equals("mp3")) {
                    song[j] = true;
                    j++;
                } else {
                    song[j] = false;
                    j++;
                }
            }
        }

        j = 0;
        ArrayList&lt;File&gt; fileList = new ArrayList&lt;&gt;();

        for (boolean b : song) {
            if(b) {
                fileList.add(fileArray[j]);
            }
            j++;
        }

        //New codes!
        ArrayList&lt;String&gt; names = new ArrayList&lt;&gt;();

        for (File fi : fileList) {
            String tmp = fi.getCanonicalPath();
            tmp = tmp.replaceAll("\\\\", "/");
            names.add(tmp);
        }

        Media m = new Media("file:///" + names.get(0));
        MediaPlayer mp = new MediaPlayer(m);
        mp.play();

        //App ends with no sleep method for threads
    } catch (Exception e) {
        e.printStackTrace();
    }
}

public static void main(String[] args) {
    launch(args);
}
}
</code></pre>

<p>But now I get error:</p>

<blockquote>
  <p>MediaException: MEDIA_UNAVAILABLE : \file:\C:\Users\Kaboom\Music\Closer.mp3 (The filename, directory name, or volume label syntax is incorrect)
      at javafx.scene.media.Media.(Media.java:407)
      at application.Start.start(Start.java:75)
      at com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$162(LauncherImpl.java:863)
      at com.sun.javafx.application.PlatformImpl.lambda$runAndWait$175(PlatformImpl.java:326)
      at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295)
      at java.security.AccessController.doPrivileged(Native Method)
      at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294)
      at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
      at com.sun.glass.ui.win.WinApplication._runLoop(Native Method)
      at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191)
      at java.lang.Thread.run(Unknown Source)</p>
</blockquote>

<p>I did some research and replaced some code. Now the only thingy which happens is no music plays and app ends running.</p>

<p>What am I doing wrongly?</p>