手机Gif动画播放手机Gif动画播放
J2ME手机高级编程
7.6 动画播放
7.6.1 动画播放概述
无论是在网页、幻灯片还是程序中,添加适当的动画可以起到轻松活泼的效果。在网页设计中,添加的GIF动画是可以自动实现活动的功能,而在J2ME平台,通过Image类添加的GIF动画是不具备活动功能的,如何才能让GIF动画动起来呢, 提示 通过Image类添加GIF文件所显示的图像~实际上是GIF文件中第一帧动画的内容。 7.6.2 动画的实现原理及方法
做过Flash的读者应该都知道,动画的播放顺序是通过时间轴来定义的,处于时间轴前面的...
手机Gif动画播放
J2ME手机高级编程
7.6 动画播放
7.6.1 动画播放概述
无论是在网页、幻灯片还是程序中,添加适当的动画可以起到轻松活泼的效果。在网页
中,添加的GIF动画是可以自动实现活动的功能,而在J2ME平台,通过Image类添加的GIF动画是不具备活动功能的,如何才能让GIF动画动起来呢, 提示 通过Image类添加GIF文件所显示的图像~实际上是GIF文件中第一帧动画的内容。 7.6.2 动画的实现原理及方法
做过Flash的读者应该都知道,动画的播放顺序是通过时间轴来定义的,处于时间轴前面的帧会先出现,处于时间轴后面的就在后面出现。GIF动画也不例外,其文件内容可以理解为连续的帧序列,当这些帧以一定的间隔进行顺序播放时就会产生动画的效果。
图7-25就是读者常见的一些可爱的GIF动画。
图7-25 GIF动画
所以要实现动画效果就必须先读出包含于动画文件中的这些帧,然后按照一定的间隔进行显示即可。而实际上并不用这么复杂,通过J2ME的MMAPI只需要获取动画文件流和其内容类型(Content Type)就可以实现播放了。
MMAPI中的Manager类提供的createPlayer方法就可以创建GIF文件的播放器对象(Player),再通过播放器对象来获取视频控制器对象(VideoControl),最后通过视频控制器对象生成动画显示项目(Item)。该项目可以作为普通项目任意添加到Form容器中进行显示。
7.6.3 设计过程
1(获取动画播放器对象和视频控制对象
GIF动画文件一般都存放在可执行包的资源文件夹(src)中,通过Class类的getResourceAsStream方法就可以获取对应资源文件的文件流。如果GIF文件的内容类型为image/gif,那么就可以创建GIF动画播放器对象(Player),继而创建播放器对象的视频控制对象(VideoControl),以控制动画显示。
代码7-24描述了创建GIF动画播放器对象和视频控制对象的核心过程。 代码7-24 创建GIF动画播放器对象和视频控制对象
//创建动画播放器
player = Manager.createPlayer( getClass().getResourceAsStream("/animated/" +
resource), "image/gif");
player.realize();
vc = (VideoControl)player.getControl("VideoControl");
2(通过视频控制对象生成动画项目
生成视频控制对象后,再通过视频控制对象的initDisplayMode方法生成动画项目。 //生成项目
item = (Item)vc.initDisplayMode(VideoControl.USE_GUI_PRIMITIVE, null);
该项目对象与MIDP中定义的Item类以及Item子类的用法完全一致。 3(动画显示播放
将动画项目添加到Form容器中,并设置播放器的播放数量为无限循环,这样可以实现动画的无限循环播放。与普通视频播放不同的是,动画项目默认为是可见的,不需要setVisible方法。
代码7-25中描述了如何设置播放项目的布局和播放控制。
代码7-25 动画显示播放
1 //设置布局
2 item.setLayout(Item.LAYOUT_CENTER | Item.LAYOUT_VCENTER); 3
4 //添加项目到容器
5 __panel.append(item);
6
7 setSuitedSize();
8 //设置无限循环
9 player.setLoopCount(-1);
10 player.start();
图7-26是在模拟器上以满屏模式和实际大小模式播放GIF动画的实例图。随着画面
的变幻,是不是感觉自己的程序增色不少呢,
图7-26 播放GIF动画
Java TV是J2ME平台定义的面向双向数码电视的API组件(JSR 927)。支持Java TV规范的电视硬件是在数码电视业界的配合下开发出来的。据网络消息,配合Java TV规范制定的企业包括:LG、松下、摩托罗拉、飞利浦、三星、索尼以及东芝等。 Java TV也是以可选包的形式提供,可以嵌入到机顶盒(现在越来越多的电视都安装了机顶盒设备),用于播放媒体扩展和收视率计量等。Sun公司
示,通过使用Java TV技术,开发人员可以开发出更加富有吸引力的信息内容和服务:“Java TV技术提供双向电视所需的硬件、安全性、扩展性以及可携带性”。
看来使用手机、PDA通过Java TV技术收看电视节目并不会是很遥远的事情了。如果读者对Java TV的最新研究感兴趣,可以访问Java TV项目网
来获取更多的最新信息。
在J2ME平台中与多媒体相关的API参考资料在WTK安装文件夹中可以获取,其路径为:
/docs/api/jsr135/。
本文档为【手机Gif动画播放】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。