快速业务通道

用Java构造自己的媒体播放器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-23
quo;打开”菜单项的过程,创建“退出”菜单项

* 创建一个菜单条(MenuBar)

* 把“文件”菜单加入到菜单条

* 把新创建的菜单条设置为主窗口的菜单条

* 把主窗口的大小设置为200*200像素

* 显示主窗口

* 结束构造函数

用Java构造自己的媒体播放器(3)

时间:2010-12-11

动作监听器:

当出现动作时:

* 如果动作事件起源于“退出”菜单项,

* 触发一个给窗口监听器的窗口关闭事件

* 返回

* 创建一个“打开媒体文件”对话框

* 把对话框的当前目录设置为上次关闭时的目录

* 显示对话框。这个对话框是一个模式对话框

* 如果用户没有通过对话框选择媒体文件

* 返回

* 保存用户在对话框中选择的目录

* 如果以前已经创建JMF播放器对象

* 关闭该对象

* 根据指定的目录和名字,创建一个使用file:协议的媒体定位器(MediaLocator)对象,再利用该对象创建一个JMF播放器对象

* 如果出现异常

* 显示错误信息,然后返回

* 把主窗口的标题设置为媒体文件的名字

* 把MediaPlayer对象注册为来自JMF播放器对象的控制器事件的监听器

* 让JMF播放器对象预先提取媒体内容

* 返回

用Java构造自己的媒体播放器(4)

时间:2010-12-11

控制器监听器:

当控制器被关闭:

* 如果JMF播放器的视觉部件存在,从MediaPlayer容器拆除视觉部件

* 如果JMF播放器的控制面板部件存在,从MediaPlayer容器拆除控制面板部件

* 返回

当媒体回放结束:

* 如果“循环”菜单被选中

* 复位JMF播放器对象的开始时间

* 让JMF播放器对象开始播放媒体

* 返回

当预提取媒体内容结束:

* JMF播放器对象开始播放媒体

* 返回

当实例化(realize)完成:

* 获取JMF播放器对象的视觉部件

* 如果视觉部件存在,则把它加入到MediaPlayer容器的

中间

* 获取JMF播放器对象的控制面板部件

* 如果控制面板部件存在,则把它加入到MedaPlayer容器的南方

* 执行pack()操作

* 返回

用Java构造自己的媒体播放器(5)

时间:2010-12-11

菜单项监听器:

当菜单项状态改变:

* 切换“循环”菜单被选中的状态

* 返回

绘画事件监听器:

paint()方法:

* 如果尚未装入媒体文件

* 获得主窗口的宽度和高度

* 用蓝色填充窗口内的区域

* 创建一种字体(DialogInput/粗体),并将它设置为主

窗口的字体

* 计算欢迎信息的以像素计的宽度

* 把绘图颜色改成白色

* 在主窗口的中央显示出欢迎信息

* 调用Frame超类的paint()方法,确保控制面板部件正确地画出

* 返回

update()方法:

* 调用paint()方法

* 返回

窗口监听器:

windowClosing:

* 调用dispose以执行windowClosed

* 返回

windowClosed:

* 如果已经创建JMF播放器对象

* 关闭JMF播放器对象

* 结束程序

伪代码的前面三行声明了媒体播放器的类名称、超类的名称和MediaPlayer类实现的监听器。带有main:前缀的行表示MediaPlayer的main()方法。类似地,带有“构造函数:”前缀的行属于MediaPlayer的构造函数。伪代码的其余内容分成五个监听器分区:动作监听器,控制器监听器,菜单项监听器,绘图监听器,窗口监听器。每一个分区分别包含一个或多个方法。

用Java构造自己的媒体播放器(6)

时间:2010-12-11

三、编写代码

下面我们把前面的伪代码转换成Java代码:

import javax.media.*; import java.awt.*; import java.awt.event.*; class MediaPlayer extends Frame implements ActionListener, ControllerListener, ItemListener { Player player; Component vc, cc; boolean first = true, loop = false; String currentDirectory; MediaPlayer (String title) { super (title); addWindowListener (new WindowAdapt

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号