当前位置: 首页 > 知识库问答 >
问题:

无法通过JavaFX2.2媒体播放器播放mp3文件

齐昆
2023-03-14

我正在用JavaFX开发我认为应该是一个简单的任务的media player,它将在用户默认的音乐文件夹路径(使用fedora)中播放存储在本地硬盘驱动器上的mp3文件。我可以很好地从命令行播放所有mp3文件,但当我尝试通过javafx.scene.media库播放时,javafx一直告诉我mp3是一种受支持的媒体类型。我已经下载了我能找到的每一个图书馆,但没有用。下面是一个实际尝试打开文件并播放媒体的代码:

第一次尝试:

 public void playTrack( String audioFileName ) {
    System.out.println("going to play the file "+audioFileName);
    String filename = System.getProperty("user.home")+"/"+audioFileName;
    File audioFile = new File( filename);
    Media audioFileStream= null;
    try {
        audioFileStream = new Media(audioFile.toURI().toURL().toString());
    } catch (MalformedURLException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    MediaPlayer mediaPlayer = new MediaPlayer(audioFileStream);
    mediaPlayer.play();
}

方法二:

public void playTrack( String audioFileName ) {
    System.out.println("going to play the file "+audioFileName);
    String source = new File(System.getProperty("user.home")+"/"+audioFileName).toURI().toString();
    //String source = new File("07-Basket-Case.mp3").toURI().toString();
    System.out.println("going to play "+source);
    Media media = null;
    media = new Media(source);
    MediaPlayer mediaPlayer = new MediaPlayer(media);
    mediaPlayer.play();
}

两者产生完全相同的错误结果,如下所示:

null

我还应该提到,我是使用VMWare fusion在操作系统10.8.5的MacBook Pro上运行的。运行Fedora19。

任何帮助都会得到的!

共有1个答案

潘畅
2023-03-14

大概花了一天半的时间才弄明白,但需要安装以下几个包:

DIRAC-LIBS-1.0.2-9.fc18.i686.rpm

libavcodec52-0.7.15-32.fc18.i686.rpm

libavformat52-0.7.15-32.fc18.i686.rpm

libavutil50-0.7.15-32.fc18.i686.rpm

libxavs1-0.1.51-2.fc18.i686.rpm

一旦安装了这些功能,javafx就会像魅力一样播放音乐。

 类似资料:
  • 当我使用MediaPlayer播放mp3文件时,系统会报告错误日志:。但是RealPlayer是正常的。 我发现它的错误只发生在更高的ROM版本。像4.0版本一样,它有错误。在2.3版中,它没有这个错误。 代码: 日志猫错误:

  • 我的问题是关于媒体播放器直播流从我的应用程序的url? 我正在尝试通过媒体播放器播放实时流mp3音频。

  • 我正在开发一个包含一些音频播放器的RecyclerView的应用程序。应用程序将下载。3gp文件(如果尚未下载)。 当我单击playAudio按钮时,音频未被播放。 这是我的适配器代码: 我怎样才能解决这个问题?

  • 我遵循了本教程: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。

  • 我已经成功地能够从我的服务器流MP3,现在我想显示一个媒体播放器通知与控制时,歌曲开始播放。我已经遵循了一些教程如何做到这一点,但我仍然得到错误时,试图在我的应用程序中做同样的事情。 这是我尝试在音乐开始播放时显示通知的方式 这是完整的 但是,当我运行代码并单击播放按钮时,应用程序崩溃,logcat返回此错误,但没有指向特定的代码行。