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

JavaFX MediaPlayer不能播放带有大png封面的mp3

石超
2023-03-14

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

没有封面的Mp3文件播放正常,如果我在Mp3中包括相同的封面,但在jpg格式,它也播放良好。我可以使用MPC-HC x64和标准Windows Media Player播放带有大png封面的mp3。我在Windows7Ultimate64位上使用Java8Update25,Build1.8进行了测试。0_25-b18。

在我的场景中,更改mp3文件本身是不可行的。我将非常感谢对解决办法的任何提示,不涉及改变mp3文件的内容。

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

另外,您可以使用mp3tag应用程序更改mp3封面图像(http://www.mp3tag.de/en/download.html).

共有1个答案

卓雅达
2023-03-14

我测试你的代码,根据你的问题是封面图像的尺寸也jpg不仅png,如果图像超过2MB。。。因此,根据@jewelsea,您可以在javafx jira上记录错误报告。基奈。通用域名格式,

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

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

对此有两种解决方案

1) 你可以在维基百科的这个和这个中研究mp3文件的结构

2)你可以为windows安装eyD3,看到这一点,并从java代码中使用这个选项,从行命令eyD3--删除-图像mp3file temmp3file创建临时文件,阅读这个

 类似资料:
  • 问题内容: 我将n avplayer放置在视图控制器中,以自定义视图控制器的其他一些元素,但是我仍然想要AVPlayerViewController中使用的播放和清理控件。当我不使用AvPlayerViewcontroller时,是否可以为Avplayer启用这些控件? 问题答案: 否。通常的解决方案(Apple明确建议)是将AVPlayerViewController用作嵌入式视图控制器-即,使

  • 我在Box2d上遇到了问题,因为我是Box2d新手,所以无法处理我的播放器的移动。当用户在我的游戏中触摸左右按钮时,我想将我的玩家左右移动。在我的游戏中,玩家已经通过了y轴。我想在控制播放器的同时看到很酷的平滑动画。我就是不能把我的球员移到左边我怎么能做到?提前谢谢 //编辑 我创建了一个测试夹具,我可以移动夹具,但不能移动我的球员。如何将我的玩家精灵连接到身体上?我必须找到控制身体的正确方法。一

  • 尝试过添加loop: true、 监听视频播放结束后重新播放等方式都是h5正常,app会一直转圈

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

  • 我正在尝试使用JME3X-JFX播放flv文件,我使用demo类,可以通过http url方法播放他们的文件。我还可以下载他们的flv并使用flv方法播放。但是我似乎不能播放我自己的flv文件(在使用一个网站如keepvid(尝试了几个)从youtube视频url(开放许可证)转换后下载)。 这听起来有点像这个问题,只有黑屏显示,但对我来说,视频声音播放。我尝试使用RichFLV编辑元数据,以类似

  • 我在创建.pdf文件时遇到问题,页面设置为信封,横向格式。 这是我的代码,用于将asp页面转换为Itext Sharp中的pdf。 我谷歌了一下,但找不到信封size.How我要动态设置页面大小为信封、风景。 提前致谢