2013-05-17 2 views
1

Я пытаюсь создать простой mp3-плеер в библиотеке JMF для школьного проекта, но у меня всегда есть эта ошибка. Путь к файлу правильный.JMF Music Player

java.lang.NullPointerException 
     at javax.media.MediaLocator.<init>(MediaLocator.java:37) 
     at Mp3Player.run(Mp3Player.java:40) 

Вот мой код:

import java.net.URL; 
import javax.media.ControllerEvent; 
import javax.media.ControllerListener; 
import javax.media.EndOfMediaEvent; 
import javax.media.Manager; 
import javax.media.MediaLocator; 
import javax.media.Player; 


public class Mp3Player extends Thread { 

    private String filename; 
    Player player; 

    public Mp3Player(String mp3Filename) { 
     this.filename = mp3Filename; 
    } 

    public void run() { 
     try { 
     URL url = this.getClass().getClassLoader().getResource(filename); 
     MediaLocator locator = new MediaLocator(url); 
     player = Manager.createPlayer(locator); 
     player.addControllerListener(new ControllerListener() { 
      public void controllerUpdate(ControllerEvent event) { 
       if (event instanceof EndOfMediaEvent) { 
        player.stop(); 
        player.close(); 
       } 
      } 
     }); 
     player.realize(); 
     player.start(); 
     } catch (Exception e) { 
     e.printStackTrace(); 
     } 
    } 

    public static void main(String[] args) { 
     new Mp3Player("C:\\Users\\Aziz\\Music\\music\\a.mp3").start(); 
    } 
} 

ответ

0

Эта строка URL url = this.getClass().getClassLoader().getResource(filename); кажется подозрительным. Попробуйте использовать класс File в java.io.*, что есть метод toURL():

File f = new File (filename); 
MediaLocator locator = new MediaLocator (f.toURL()); 
player = Manager.createPlayer (locator); 

 Смежные вопросы

  • Нет связанных вопросов^_^