2014-11-08 2 views
1

Когда я запускаю свой метод, я получаю MediaException. Я вызываю метод с playSound("src/assets/timeup.mp3");.JavaFX play mp3

private void playSound(String path) { 
     System.out.println(path); 
     Media hit = new Media(new File(path).toURI().toString()); 
     System.out.println(hit.getSource()); 
     MediaPlayer mediaPlayer = new MediaPlayer(hit); 
     mediaPlayer.play(); 
    } 

Log:

src/assets/timeup.mp3 
file:/media/chris/1%20TB%20Data/Eclipse/workspace/DrEggTimer/src/assets/timeup.mp3 
Exception in thread "main" MediaException: UNKNOWN : com.sun.media.jfxmedia.MediaException: Could not create player! : com.sun.media.jfxmedia.MediaException: Could not create player! 
    at javafx.scene.media.MediaException.exceptionToMediaException(MediaException.java:146) 
    at javafx.scene.media.MediaPlayer.init(MediaPlayer.java:511) 
    at javafx.scene.media.MediaPlayer.<init>(MediaPlayer.java:414) 
    at timer.Timer.playSound(Timer.java:53) 
    at timer.Timer.<init>(Timer.java:58) 
    at timer.Timer.main(Timer.java:39) 
Caused by: com.sun.media.jfxmedia.MediaException: Could not create player! 
    at com.sun.media.jfxmediaimpl.NativeMediaManager.getPlayer(NativeMediaManager.java:222) 
    at com.sun.media.jfxmedia.MediaManager.getPlayer(MediaManager.java:104) 
    at javafx.scene.media.MediaPlayer.init(MediaPlayer.java:467) 
    ... 4 more 

Моего проект находится на внешнем диск, и я связывая его с моим основным диском с линком. Я запускаю Eclipse на главном диске. Я не верю, что это должно вызвать какие-то проблемы.

ответ

2

Если вы находитесь на linux (который, кажется, вы из вашего stacktrace). Вам нужно установить libavformat53 и libavcodec53 для работы MediaPlayer для javafx, иначе вы получите эту ошибку.

+0

Как вы это делаете на Fedora? (Похоже, что вы могли бы ответить на свой вопрос сейчас: http://stackoverflow.com/questions/27475902/fedora-21-javafx-not-creating-mediaplayer) –

+0

На fedora это немного сложно. Мне нужно было вручную найти и установить libavcodec53 и все его зависимости rpms, поскольку предыдущие версии библиотек libav больше не включаются в официальные репозитории. – caleb

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