JavaFx 音频文件无法播放

标签 java audio media javax

我有以下代码。没有声音播放我不知道我做错了什么。我在指定的目录中有一个名为“Test”的文件。它是.mp3 格式。

@Override
public void start(Stage stage) throws Exception
{
    Media sound = new Media("file:///C:/Users/name/Music/HQ/Test.mp3");
    MediaPlayer mediaPlayer = new MediaPlayer(sound);
    mediaPlayer.setAutoPlay(true);

    VBox root = new VBox();
    root.getChildren().addAll();

    Scene scene = new Scene(root, 500, 500);
    stage.setScene(scene);
    stage.show();

}

public static void main(String[] args)
{
    launch(args);
}

最佳答案

我也遇到了同样的问题。我想在游戏的菜单屏幕上播放 4 分钟的 mp3 轨道。我已经从 mp3 转换为 wav 了。依然没有。然后我尝试了更短的声音(1秒锣声)......并且它起作用了!然而声音却像是被中途切断了一样。 好吧,这让我产生了怀疑,所以我决定在线程中运行它并且它成功了!然后我切换回主要声音,现在播放得很好。

现在我不明白两件事:

  • 为什么在线程内运行这个有帮助
  • 为什么 .wav 有效而 .mp3 无效

目前还不算多,但也许会对某人有所帮助:)我一发现就会更新我的答案!

关于JavaFx 音频文件无法播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41291044/

相关文章:

java - 如何在 Java 中以 sudo 权限执行 bash 命令?

android - 什么代码可以禁用android(4.4)设备的耳机插孔

android - Android:播放心率BPM声音

wordpress - 根据自定义字段将图像上传到媒体库

c# - Kentico 7 - 在 web 部件中显示媒体库中的图像

java - 通过 Hibernate Search 将 Hibernate Criteria API 与 Lucene 结合起来?

java - Hibernate 中的最大并发事务数是否有限制?

java - 使用等高的行创建 GridLayout

android - Android 中的音频文件流无法在 Android 2.3 上运行

html - 使元素适合移动优先/媒体查询的问题