Я пытался использовать mp3s вместо wavs, и он отлично работает в netbeans, но когда я его создаю и пытаюсь запустить банку, нет звука, и я получаю исключение NoPlayerException.No Player Exception With Jar
background = ImageIO.read(getClass().getResourceAsStream("/background1.png"));
sun = ImageIO.read(getClass().getResourceAsStream("/sun.png"));
cloud = ImageIO.read(getClass().getResourceAsStream("/cloud.png"));
pause = ImageIO.read(getClass().getResourceAsStream("/pause.png"));
soldierchant = AudioSystem.getAudioInputStream(getClass().getResource("/SoldiersChant.wav"));
thebreach = AudioSystem.getAudioInputStream(getClass().getResource("/TheBreach.wav"));
forever = AudioSystem.getAudioInputStream(getClass().getResource("/Forever.wav"));
Format input1 = new AudioFormat(AudioFormat.MPEGLAYER3);
Format input2 = new AudioFormat(AudioFormat.MPEG);
Format output = new AudioFormat(AudioFormat.LINEAR);
PlugInManager.addPlugIn("com.sun.media.codec.audio.mp3.JavaDecoder", new Format[]{input1, input2}, new Format[]{output}, PlugInManager.CODEC);
try {
Player player = Manager.createPlayer(new MediaLocator(getClass().getResource("/TheBreach.mp3").toURI().toURL()));
player.start();
} catch (IOException ex) {
ex.printStackTrace();
}catch (java.net.URISyntaxException x) {
x.printStackTrace();
}catch (javax.media.NoPlayerException c) {
c.printStackTrace();
}
Как вы можете видеть, что я получаю файл с помощью getResource так же, как изображения и WAV, которые работают как в NetBeans и баночки. Может ли это быть проблемой «com.sun.media.codec.audio.mp3.JavaDecoder»
Я сейчас хватаю соломинку. Я пробовал помещать mp3 в каждую папку и не делал/и полный каталог. Ничего:/
Это мой Exception в GetMessage:
Не можете найти плеер для фляги: файл:/C: /Users/Patrick/Documents/NetBeansProjects/PatBuild8FX/dist/PatBuild8FX.jar/TheBreach .mp3
Хорошо, поэтому я думаю, что его Manager.createPlayer. Потому что, когда я просто создаю только файл, это прекрасно, но когда я пытаюсь создать с ним игрока, он не работает.
File m = new File("file:/C:/Users/Patrick/Documents/NetBeansProjects/PatBuild8FX/dist/PatBuild8FX.jar/TheBreach.mp3");
System.out.println(m);
System.out.println(Manager.createPlayer(m.toURI().toURL()));
файл: \ C: \ Users \ Patrick \ Documents \ NetBeansProjects \ PatBuild8FX \ \ расстояние PatBuild8FX.jar \ TheBreach.mp3 java.io.IOException: Файл не найден java.io.IOException : Файл не найден Исключение из потока "main" javax.media.NoPlayerException: экземпляр класса экземпляра: com.sun.media.protocol.file.DataSource: java.io.IOException: файл не найден в javax.media.Manager. createPlayerForContent (Manager.java:1362) at javax.media.Manager.createPlayer (Manager.java:417) at javax.media.Manager.createPlayer (Manager.java:332) в Build8.PanGame. (PanGame.java:75) в Build8.Main.main (Main.java:30)
Попробуйте использовать этот новый MediaLocator (getClass(). GetResource ("/ TheBreach.mp3") ' –
Похоже, что это проблема с Manager.createPlayer. См. Edit. –