import java.awt.Component;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import javax.swing.JFileChooser;
import javazoom.jl.player.Player;
public class MP3Player {
private String filename;
private Player player;
// a default constructor
public MP3Player() {}
// Constructor takes a given file name
public MP3Player(String filename) {
this.filename = filename;
}
public void close() { if (player != null) player.close(); }
// play the JLayerMP3 file to the sound card
public void play() {
try {
InputStream fis = new FileInputStream(filename);
BufferedInputStream bis = new BufferedInputStream(fis);
player = new Player(bis);
}
catch (Exception e) {
System.out.println("\n Problem in playing: " + filename);
System.out.println(e);
}
}
public void play(String mp3filename) {
try {
InputStream fis = new FileInputStream(mp3filename);
BufferedInputStream bis = new BufferedInputStream(fis);
player = new Player(bis);
}
catch (Exception e) {
System.out.println("Problem in playing: " + mp3filename);
System.out.println(e);
}
// creata a thread to play music in background
new Thread() {
public void run() {
try { player.play(); }
catch (Exception e) { System.out.println(e); }
}
}.start();
}
在UI类中,我有一个play按钮和一个action方法,我在其中创建了一个MP3播放器对象。然后将文件路径传递给MP3播放器
MP3Player mp3 = new MP3Player();
mp3.play("data/audio/" + filepath);
只要我在Netbeans中运行这个项目,它就会运行良好,音乐也会播放。但是一旦我创建了一个jar文件,它就不播放音乐了。我发现了一些关于类似问题的其他帖子,例如:从Jar内部加载一个带有JLayer的mp3文件
但与它们相反,我不想在JAR中包含MP3文件。它应该从本地文件夹“data”中获取文件。
任何帮助都是非常感谢的。
Netbeans创建的dirctory如下所示:yourprojectdir/dist/yourproject.jar
。库放在yourprojectdir/dist/lib/otherlibrary.jar
中。在yourprojectdir
中创建data
文件夹,即媒体文件将保留在yourprojectdir/data/audio/
中。
您所做的,只是创建一个具有任何名称的批处理文件。
@echo off
START/MAX dist\YourProject.jar
将批处理文件放置在yourprojectdir
中。现在运行批处理文件。
我正在创建一个带有背景音乐的应用程序。我试着在课堂上演奏那首音乐: 我试过了: 当我把它放在我的文件的根目录中并使用它时: 我得到这个错误:javax.sound.sampled。不受支持的AudioFileException:无法从输入URL获取音频输入流更新我尝试使用JavaFX: 但是我得到了错误: 此行中的错误:MediaPlayer Player=new MediaPlayer(媒体);
问题内容: 我想使用jar文件中的java代码播放.wav文件作为资源。我的代码看起来像这样- 我的jar文件之一中存在WindowsNavigationStart.wav文件。但是得到以下异常- 请给我一个解决方案。谢谢你们。 问题答案: 更改: 至:
我遵循了本教程:http://what-when-how.com/javafx-2/playing-audio-using-the-media-classes-javafx-2-part-1/ 我有相应的资源文件夹在相应的目录中。类文件,但我仍然不能播放音频。mp3文件与教程中的不同,但我也有一个. wav等效文件,发现JavaFX可以开箱播放*. wav文件,但不能播放mp3文件。怎么回事啊?
标记为“good”的文件可以正确播放,而标记为“bad”的文件则不能。两个文件在同一个目录中;两个文件都使用音乐播放器播放;并且这两个文件都可以在Windows7机器上使用Python3.4和pygame。
我需要创建一个应用程序,使用各种参数,如高度,体积或基础面积排序各种类型的多边形。将通过命令行传递具有多边形参数、排序类型参数、排序方法参数的文件名的参数。该文件位于项目中的“我的资源”文件夹中的“我的src”文件夹之外。我已经实现了所有的程序,当我通过eclipse运行配置使用pass参数运行时,它工作得很好。但是当我尝试使用cmd相同的参数运行我的.jar文件时,它给出了。 我使用打开了我的j