【问题标题】:JavaFX MediaPlayer does not play mp3 with large png coverJavaFX MediaPlayer 不播放带有大 png 封面的 mp3
【发布时间】:2014-12-12 17:25:25
【问题描述】:

我无法使用 javafx.scene.media.MediaPlayer 类播放包含大 png 文件作为封面(缩略图)图像的 mp3。您可以在附加的存档示例 mp3 文件和带有已编译应用程序的 NetBeans 项目中找到,您可以使用它们来重现我的问题。当我尝试打开 mp3 时,MediaPlayer 不会抛出任何异常,但不会播放文件。

没有封面的 Mp3 文件播放正常,如果我在 mp3 中包含相同的封面但以 jpg 格式播放,它也可以正常播放。我可以使用 MPC-HC x64 和标准 Windows Media Player 播放带有大 png 封面的 mp3。我在 Windows 7 Ultimate 64 位上对此进行了测试,使用 Java 8 Update 25,构建 1.8.0_25-b18。

在我的场景中,更改 mp3 文件本身是不可行的。对于不涉及更改 mp3 文件内容的解决方法的任何提示,我将不胜感激。

您可以在此处找到上述存档: https://www.dropbox.com/s/1vzw6hqteza0164/BugReproduction.zip?dl=0

附:您可以使用 mp3tag 应用程序 (http://www.mp3tag.de/en/download.html) 更改 mp3 封面图片。

【问题讨论】:

标签: java javafx media


【解决方案1】:

我测试了您的代码,根据您的说法,问题是封面图像的尺寸也是 jpg 如果图像超过 2MB,则不仅是 png ...因此根据@jewelsea,您可以在 javafx-jira.kenai 上记录错误报告。 com,

我可以向您推荐一种代码解决方案: 您可以使用 java 代码创建一个没有图像封面的 mp3 临时文件...

...
mediaPlayer.setOnError(()-> {
  (code to create temp file ...)
  Media media = new Media(<tempfile>);
  mediaPlayer = new MediaPlayer(media);
  mediaPlayer.play();
});
mediaPlayer.play();

对此有两种解决方案:

1) 你可以在维基百科的thisthis学习mp3文件的结构

2) 您可以为 windows 安装 eyeD3,请参阅 this 并从 java 代码中使用行命令 eyeD3 --remove-image mp3file tempmp3file 中的此选项来创建临时文件,请阅读 this

【讨论】:

  • 我希望 essert 有帮助
  • 谢谢!我记录了一个错误报告。
猜你喜欢
  • 1970-01-01
  • 2011-06-25
  • 1970-01-01
  • 2015-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-24
  • 1970-01-01
相关资源
最近更新 更多