为什么这个程序不播放我的音乐文件?
Why is this program not playing my music files?
我试图在 Java 中使用 JLayer 库创建一个基本的音乐播放器,但它似乎不起作用。当我通过 JFileChooser 打开文件 (.mp3) 时没有播放任何内容。下面是我的应用程序的代码。请告诉我它有什么问题。
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javax.swing.JFileChooser;
import javazoom.jl.player.Player;
import javazoom.jl.decoder.JavaLayerException;
class MusicPlayer
{
public void Player()
{
JFileChooser chooser = new JFileChooser();
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
try
{
File track = chooser.getSelectedFile();
FileInputStream trackstream = new FileInputStream(track);
BufferedInputStream bufferedtrack = new BufferedInputStream(trackstream);
try
{
Player player = new Player(bufferedtrack);
}
catch(JavaLayerException e)
{
System.out.println("Can't open file!");
}
}
catch(FileNotFoundException e)
{
}
}
else {
}
}
}
public class PlayerApp {
public static void main(String[] args) {
new MusicPlayer().Player();
}
}
您忘记在 Player player = new Player(bufferedtrack);
之后调用 player.play();
方法
您确实错过了 Player 的 player.play()
来开始播放请求的文件。
try
{
Player player = new Player(bufferedtrack);
player.play(); // add this line
}
catch(JavaLayerException e)
{
System.out.println("Can't open file!");
}
另外,方法名通常写成camel-case(首字母小写)。我建议将您的方法 void Player()
重命名为 void loadDialogAndPlayFile()
.
我试图在 Java 中使用 JLayer 库创建一个基本的音乐播放器,但它似乎不起作用。当我通过 JFileChooser 打开文件 (.mp3) 时没有播放任何内容。下面是我的应用程序的代码。请告诉我它有什么问题。
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javax.swing.JFileChooser;
import javazoom.jl.player.Player;
import javazoom.jl.decoder.JavaLayerException;
class MusicPlayer
{
public void Player()
{
JFileChooser chooser = new JFileChooser();
if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {
try
{
File track = chooser.getSelectedFile();
FileInputStream trackstream = new FileInputStream(track);
BufferedInputStream bufferedtrack = new BufferedInputStream(trackstream);
try
{
Player player = new Player(bufferedtrack);
}
catch(JavaLayerException e)
{
System.out.println("Can't open file!");
}
}
catch(FileNotFoundException e)
{
}
}
else {
}
}
}
public class PlayerApp {
public static void main(String[] args) {
new MusicPlayer().Player();
}
}
您忘记在 Player player = new Player(bufferedtrack);
player.play();
方法
您确实错过了 Player 的 player.play()
来开始播放请求的文件。
try
{
Player player = new Player(bufferedtrack);
player.play(); // add this line
}
catch(JavaLayerException e)
{
System.out.println("Can't open file!");
}
另外,方法名通常写成camel-case(首字母小写)。我建议将您的方法 void Player()
重命名为 void loadDialogAndPlayFile()
.