我的JavaFX MediaPlayer出了点问题。出于测试目的,我从http://docs.oracle.com/javafx/2/media/playercontrol.htm下载了这个示例,并添加了一些错误处理。在使用以下错误处理时
mediaPlayer.setOnError(new Runnable() {
@Override
public void run() {
System.out.println(mediaPlayer.getError().getMessage());
System.out.println(mediaPlayer.getError().getType());
}
});
我得到以下控制台输出:
[com.sun.media.jfxmediaimpl.platform.gstreamer.GSTMediaPlayer@5482fb8f] "Error: Media invalid": "Error: Media invalid"
UNKNOWN
视频采用h264和aac编码(用于音频),分辨率为1920x1168px。分辨率大于1920x1080px的视频出现错误。分辨率为1920x1080px或更小的Vidoes工作正常。所有视频的播放都是通过VLC-Player实现的。我使用的是Java 7_51。
有没有人知道我怎么才能让视频运行,或者是不支持分辨率高于1920x1080px的视频?
发布于 2017-04-19 22:43:56
This tutorial说:"AAC和H.264/AVC解码具有特定的平台相关限制,如http://www.oracle.com/technetwork/java/javase/downloads/上提供的发行说明中所述。“当然,每个版本都有自己的发行说明,所以教程中的链接是非常无用的。经过一些搜索后,人们可以找到this table for Oracle JDK 8 and JRE 8 at the end under the heading "JavaFX Media" (对不起,该页面上没有锚点),给出了关于所用实现的平台特定注释。我没有找到或寻找JDK 7的等价物,因为这毕竟是一个相当老的问题……
发布于 2018-08-16 04:11:00
这可能是由视频大小引起的。Iirc JavaFx mediaPlayers只能播放1920x1080大小的视频。任何明显大于该值的值都将抛出Media_Invalid错误。
https://stackoverflow.com/questions/24630448
复制相似问题