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

JavaFX无法播放mp3文件

向泽语
2023-03-14

我遵循了本教程:http://what-when-how.com/javafx-2/playing-audio-using-the-media-classes-javafx-2-part-1/

package audioVideo;

import java.net.URL;

import javafx.application.Application;
import javafx.scene.media.*;
import javafx.stage.*;

public class AudioPlayer1 extends Application
{
    public static void main(String args[])
    {
        launch(args);
    }

    @Override
    public void start(Stage primaryStage)
    {
        URL resource = getClass().getResource("resources/sample.mp3");
        Media media = new Media(resource.toString());
        MediaPlayer mediaPlayer = new MediaPlayer(media);
        mediaPlayer.play();

        primaryStage.setTitle("Audio Player 1");
        primaryStage.setWidth(200);
        primaryStage.setHeight(200);
        primaryStage.show();
    }
}

我有相应的资源文件夹在相应的目录中。类文件,但我仍然不能播放音频。mp3文件与教程中的不同,但我也有一个. wav等效文件,发现JavaFX可以开箱播放*. wav文件,但不能播放mp3文件。怎么回事啊?

我通过Eclipse使用Ubuntu 15.04 64位。这不可能是资源问题,因为。wav文件与文件位于同一文件夹中。mp3一个,但前者可以播放,而后者不能。我是否需要某些依赖项才能正确播放mp3文件?我可以直接播放Ubuntu中的mp3文件。

共有1个答案

刘野
2023-03-14

首先,导入以下内容:

import java.nio.file.Paths;

然后,当您创建媒体时,请执行以下操作:

Media media = new Media(("yourAudio.fileExtension").toUri().toString());
MediaPlayer player = new MediaPlayer(media);

这应该可以做到(至少对于mp3来说)。

 类似资料:
  • 标记为“good”的文件可以正确播放,而标记为“bad”的文件则不能。两个文件在同一个目录中;两个文件都使用音乐播放器播放;并且这两个文件都可以在Windows7机器上使用Python3.4和pygame。

  • 配置:ubuntu 20、JavaFX11、jdk15、语言级别8 问题:mp3文件可以直接在ubuntu上播放,但不能在下面的代码中播放,但代码可以用来播放*。wav和*。aiff音频文件,mp3除外:

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

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

  • 问题内容: 我遵循了一些有关结合JavaFX与Swing(JFrame)来播放视频的教程,但是我得到的只是一个黑屏,该视频应该没有任何实际的内容播放,也没有报错。 我在这里做错什么,为什么不播放视频? 我尝试了几个.flv视频,但都不会开始播放(当我在浏览器中打开它们时,它们会播放) 我在装有K-lite完整编解码器包的Windows 8.1 N Pro上运行jre7和jdk1.7.0_45 编辑

  • 我想使用MediaPlayer/MediaView在我的JavaFX应用程序中显示web cam的实时流。我尝试使用ffmpeg录制HLS并播放生成的m3u8文件,但这会引发以下异常(VLC播放视频时没有问题): 我调试了播放器的创建,当。此本机方法返回错误代码,javafx将其映射到。 我使用以下ffmpeg命令录制视频: 我非常确定编码符合javafx的要求,因为如果我将输出容器从m3u8更改