`
dysfzhoulong
  • 浏览: 69410 次
  • 性别: Icon_minigender_1
  • 来自: 长沙市
社区版块
存档分类
最新评论

Failed to realize: com.sun.media.PlaybackEngine@480457

SUN 
阅读更多
引用
Unable to handle format: XVID, 960x540, FrameRate=29.9, Length=777600 0 extra bytes
  Unable to handle format: mpeglayer3, 44100.0 Hz, 0-bit, Stereo, Unsigned, 16000.0 frame rate, FrameSize=8 bits
Failed to realize: com.sun.media.PlaybackEngine@480457
Error: Unable to realize com.sun.media.PlaybackEngine@480457

在测试JMF时出现了这样的错误,一般是avi的编码格式问题,JMF对一些新的avi格式是不支持的,特上传了一个通过测试的avi;以供测试之用

/**
 * 视频播放测试
 */
public class VedioTest extends JFrame {
	private Player player;

	public static void main(String args[]) {
		String path = "file:///E:/hello.avi";
		VedioTest vt = new VedioTest(path);
		vt.initUI();
	}

	/**
	 * 在构造器中初始化数据
	 * 
	 * @param:要初始化的数据源,即视频文件的路径
	 */
	public VedioTest(String path) {
		// 确定视频文件的位置
		javax.media.MediaLocator ml = new javax.media.MediaLocator(path);
		try {
			// 创建一个播放器对象
			player = javax.media.Manager.createPlayer(ml);
			// 创建一个播放器的控制器监听器对象
			MyConreollerListener l = new MyConreollerListener(player, this);
			// 给播放器对象注册控制器监听器
			player.addControllerListener(l);
			// 开始播放
			player.start();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * 初始化界面
	 */
	public void initUI() {
		this.setTitle("JMF播放视频示例");
		this.setSize(400, 300);
		this.setDefaultCloseOperation(3);
		this.setVisible(true);
	}
}

/**
 * 视频控制器监听器类
 */
public class MyConreollerListener implements javax.media.ControllerListener {
	private Player player;
	private JFrame jf;

	public MyConreollerListener(Player player, JFrame jf) {
		this.player = player;
		this.jf = jf;
	}

	/**
	 * 实现监听器接口中的方法.此方法可通知应用程序对播放器的事件做出反应
	 */
	public synchronized void controllerUpdate(ControllerEvent e) {
		if (e instanceof javax.media.RealizeCompleteEvent) {
			Component comp;
			// 得到播放器的可视容器,即播放器显示视频的容器
			if ((comp = player.getVisualComponent()) != null) {
				// 将可视容器加到窗体上
				jf.add("Center", comp);
			}
			// 得到播放器的控制面板容器
			if ((comp = player.getControlPanelComponent()) != null) {
				// 添加到窗体上
				jf.add("South", comp);
			}
			jf.validate();// 刷新窗体
		}
	}
}

分享到:
评论
1 楼 qa4862741 2011-09-13  
楼主啊,我用JMF播放mp3的文件时也出现了这个问题啊,不知是说什么原因啊!请楼主解释下啊!

相关推荐

Global site tag (gtag.js) - Google Analytics