我正在编写一个编程类的项目,我想添加一个视频文件。我尝试过使用JMF,除非我尝试播放视频(使用Java网站上列出的格式之一),它给了我错误:
Unable to handle format: XVID, 320x213, FrameRate=29.9, Length=204480 0 extra bytes
Unable to handle format: mpeglayer3, 22050.0 Hz, 0-bit, Stereo, Unsigned, 8000.0 framerate,FrameSize=4608 bits
Failed to realize: com.sun.media.PlaybackEngine@39b27b
Error: Unable to realize com.sun.media.PlaybackEngine@39b27b
Could not realize media player
这是我用来测试播放器的代码:
public MediaPanel(String path) {
try {
videoPath = new File(path).toURI().toURL();
} catch (MalformedURLException e) {
e.printStackTrace();
}
setLayout(new BorderLayout());
Manager.setHint(Manager.LIGHTWEIGHT_RENDERER, true);
try {
Player mediaPlayer = Manager.createRealizedPlayer(videoPath);
Component video = mediaPlayer.getVisualComponent();
Component controls = mediaPlayer.getControlPanelComponent();
if (video != null)
add(video, BorderLayout.CENTER);
if (controls != null)
add(controls, BorderLayout.SOUTH);
mediaPlayer.start();
} catch (NoPlayerException NoPlayerException) {
System.err.println("No media player found");
} catch (CannotRealizeException CannotRealizeException) {
System.err.println("Could not realize media player");
} catch (IOException IOException) {
System.err.println("Error reading from the source");
}
}
MediaPanel player = new MediaPanel("intro.avi");
我假设我的两个选项是制作一个具有Java网站上列出的确切规格的视频(因为显然只是文件扩展名不够),或者使用其他方法来显示视频。
我该如何解决这个问题?我是否需要制作完全符合规格说明的视频(请参阅底部的链接)?
注意: 我正在使用的类和不包含javaFX的旧版java。请不要推荐这个,除非我有办法添加它,而不让学校重新安装更新版本的Java。