- 浏览: 212250 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
fenglongcen:
java可以写测试脚本吗?
linux 通过脚本执行java程序 -
chensss2008:
我代为回答2楼的问题,呵呵,因为我也遇到了这个问题。使用adm ...
SVNManager使用介绍 -
小诗诗:
我想问一下怎么使用“服务器配置管理员”怎么登陆啊!!!! ...
SVNManager使用介绍 -
sbcqw93:
能创建文件夹吗?比如说:http://127.0.0.1/sv ...
SVNManager使用介绍 -
energykey:
yhjhoo 写道好像没有一个外部的jar包,请教以下如何在l ...
linux 通过脚本执行java程序
在J2ME中有关视频播放的步骤:
1.加载视频资源;
2.创建Player;
3.将视频到"以实现"状态(player.realize());
4.vidc.initDisplayMode(参数1,参数2);由于参数2需要Canvas对象,所以编写的类需要继承Canvas类;
5.视频播放并显示.
注意:播放的视频不要过大,否则会报java.lang.outofMemaryError异常。 目前只是在模拟器上可以运行,在真机上还不能运行,待完善。欢迎大家一块探讨学习!
测试的视频在附件中
1.加载视频资源;
2.创建Player;
3.将视频到"以实现"状态(player.realize());
4.vidc.initDisplayMode(参数1,参数2);由于参数2需要Canvas对象,所以编写的类需要继承Canvas类;
5.视频播放并显示.
package com.mopietek; import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class MediaPlayerApp extends MIDlet{ public Display display; public static MediaPlayerApp midlet; public VideoCanvas videoCanvas; public MediaPlayerApp(){ midlet = this; display = Display.getDisplay(this); videoCanvas = new VideoCanvas(display); videoCanvas.open("/up1.mpg"); display.setCurrent(videoCanvas); } protected void destroyApp(boolean arg0) throws MIDletStateChangeException { // TODO Auto-generated method stub } protected void pauseApp() { // TODO Auto-generated method stub } protected void startApp() throws MIDletStateChangeException { // TODO Auto-generated method stub } }
package com.mopietek; import java.io.InputStream; import javax.microedition.lcdui.Canvas; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Graphics; import javax.microedition.media.Control; import javax.microedition.media.Manager; import javax.microedition.media.Player; import javax.microedition.media.PlayerListener; import javax.microedition.media.control.FramePositioningControl; import javax.microedition.media.control.RateControl; import javax.microedition.media.control.VideoControl; import javax.microedition.media.control.VolumeControl; public class VideoCanvas extends Canvas implements Runnable,CommandListener,PlayerListener{ private Display videodisplay; private int screenWidth; private int screenHeight; public static Command exitCommand = new Command("退出",Command.EXIT,1); public static Command playCommand = new Command("播放",Command.OK,1); public static Command pauseCommand = new Command("暂停",Command.ITEM,10); private VolumeControl vc; private Player player; private VideoControl vidc; private RateControl rc; private FramePositioningControl fpc; public VideoCanvas(){ } public VideoCanvas(Display display){ this.videodisplay = display; screenWidth = this.getWidth(); screenHeight = this.getHeight(); initialize(); } //添加命令 public void initialize(){ addCommand(exitCommand); addCommand(playCommand); addCommand(pauseCommand); setCommandListener(this); } protected void paint(Graphics g) { //可以编写视频的外框,进度条等 } public void open(String url){ try{ if(player == null){ InputStream is = getClass().getResourceAsStream(url); player = Manager.createPlayer(is,"video/mpeg"); //可以添加player的监听,实现视频的暂停、快放、快退等功能 player.addPlayerListener(this); } player.realize(); //player的“以实现”状态 if((vidc = (VideoControl) player.getControl("VideoControl")) != null){ vidc.initDisplayMode(VideoControl.USE_DIRECT_VIDEO,this); vidc.setDisplayFullScreen(true); vidc.setVisible(true); } Control [] controls = player.getControls(); for(int i=0; i<controls.length;i++){ if(controls[i] instanceof VolumeControl) vc = (VolumeControl) controls[i]; if(controls[i] instanceof RateControl) rc = (RateControl) controls[i]; if(controls[i] instanceof FramePositioningControl) fpc = (FramePositioningControl) controls[i]; } player.prefetch(); //"预抓取"状态 if(vidc == null) addCommand(pauseCommand); if(player == null){ return; }else{ player.start(); //开始播放视频 } }catch(Exception e){System.err.println(e.toString());} } public void run() { // TODO Auto-generated method stub } public void commandAction(Command c, Displayable d) { // TODO Auto-generated method stub } public void playerUpdate(Player arg0, String arg1, Object arg2) { // TODO Auto-generated method stub } }
注意:播放的视频不要过大,否则会报java.lang.outofMemaryError异常。 目前只是在模拟器上可以运行,在真机上还不能运行,待完善。欢迎大家一块探讨学习!
测试的视频在附件中
- up1.rar (215.6 KB)
- 下载次数: 122
发表评论
-
Lwuit---小细节疑难杂症整理
2010-05-04 17:41 14481、textArea 显示文本内容,在部分手机上无法显示全部内 ... -
Lwuit布局管理
2010-05-04 15:40 1642布局管理器中一个比较特殊的管理器CoordinateLa ... -
J2ME Socket编程
2010-04-25 23:35 4096Socket是套接字,它是基于TCP协议的传输。 在J2ME ... -
Alert用法
2010-04-08 18:21 3885在J2ME中,关于Alert类是用来向用户发出警告信息,一般A ... -
Midlet与Servlet传递Cookie
2010-03-31 11:47 2258Cookie在Java ME平台中没有得到支持,因此要想维持客 ... -
J2ME手机编程中使用字体与游戏键值
2010-03-25 10:02 1411J2me中关于字体Font类的介绍: Font fon ... -
J2me低级UI界面中Canvas类与GameCanvas类
2010-03-23 10:18 3367关于MIDlet类中destroyApp( ... -
J2ME从服务器解析并读取xml文件
2010-03-09 16:55 2225J2ME从服务器解析并读取xml文件,其实跟在本地读取xml文 ... -
J2me语言国际化
2010-03-04 16:39 1598J2me手机开发在早期的WTK没用jsr 238包,所以程序要 ... -
J2ME下载并读取服务器txt文件
2010-03-04 11:56 2058J2ME下载并读取服务器txt文件,我用的公司的服务器,大家如 ... -
J2ME解析并读取xml文件
2010-03-03 17:37 5782用KXML解析读取xml文本 首先需要kxml2-2.3.0. ... -
J2ME手机本地文件上传服务器
2010-02-23 10:20 2727J2ME手机本地存储文件的上传,核心代码如下: pac ... -
读取手机本地图片和文本文件(Lwuit版)
2010-02-22 13:21 2559读取手机存储文件的核心代码: package com.m ... -
J2ME实现从服务器端下载文件(J2me for HttpConnection)
2010-02-07 21:54 2627J2ME实现从服务器端下载文件: 我以下载服务器文件并在手机客 ... -
Lwuit中关于TextField限制输入为数字的内容代码
2010-01-28 10:50 2049Lwuit中关于TextField限制输入为数字的内容代码 ... -
Lwuit 钟表ClockWidget小应用程序
2010-01-26 12:59 1621J2ME关于Lwuit应用的钟表ClockWidget程序 ... -
Lwuit实现九宫图特效程序
2010-01-25 12:16 2208最近在网上看到很多九宫图的程序说明,但大多数是转载的,一些知识 ... -
J2ME中关于Lwuit的标签的综合使用
2010-01-22 18:02 2480J2ME中关于Lwuit的标签的综合使用 由于我使用的主题对 ... -
Lwuit中关于TextArea、TabbedPane组件的使用说明
2010-01-21 16:15 2186TextArea组件的使用说明代码如下: package ... -
Lwuit中CheckBox、ComboBox组件的使用说明
2010-01-21 15:53 2413这几天刚刚开始接触LWUIT,前两天从网上搜到一兄台的博客写的 ...
相关推荐
在“J2ME视频播放程序”这个项目中,我们看到的是一个专门为小型设备开发的简单视频播放应用。这样的程序通常包含以下几个关键组件: 1. **用户界面**:J2ME应用程序通常使用MIDP(Mobile Information Device ...
【标题】"郭克华J2ME视频教学源代码"涉及的是Java的一种移动开发平台——Java Micro Edition(J2ME)的学习资源。J2ME是Java技术在嵌入式设备和移动设备上的应用版本,主要用于开发手机、智能电视、游戏机等小型设备...
同时,理解如何实现简单的物理规则,如重力和速度,是创建这类游戏的关键。 4. **贪吃蛇游戏开发** 贪吃蛇游戏是一个经典的J2ME编程练习。它包括蛇的移动逻辑、食物生成、边界处理、碰撞检测等部分。蛇的身体由多...
这个资源包括了视频教程和源代码,旨在帮助学习者深入理解和实践J2ME的开发技术。 J2ME技术基础: 1. **架构与配置**:J2ME由配置和 profiles 组成,配置定义了Java虚拟机(JVM)和核心类库,而profiles则增加了...
**J2ME手机开发视频入门教程** J2ME(Java 2 Micro Edition)是Java平台的一个子集,专为资源有限的嵌入式设备,包括移动电话和掌上设备而设计。这个视频教程针对初学者,旨在帮助他们快速掌握J2ME手机应用的开发...
本文将详细介绍J2ME开发中的关键知识点,并结合提供的"郭克华J2me视频教学源代码"进行深入解析。 **J2ME架构与配置** J2ME的架构主要由两部分组成:Connected Limited Device Configuration (CLDC) 和 Mobile ...
此外,书中还会涵盖如何使用J2ME处理键盘和触摸事件,实现游戏的动画效果,以及如何优化性能以适应移动设备的限制。 通过实例精解的方式,读者可以逐步理解并实践游戏开发的各个环节,从设计游戏机制到调试代码,再...
- "SimpleVideoDemo":这可能是项目的源代码示例,演示了如何在J2ME环境下实现简单的视频播放功能。开发者可能使用它作为起点,然后扩展为完整的视频播放系统。 **知识点详细说明** 1. **J2ME基础**:了解J2ME的...
《郭克华J2ME移动开发实战教学视频源代码》是一个专注于Java Micro Edition(J2ME)技术的教育资源,由知名讲师郭克华提供。J2ME是Java平台的一个子集,专门用于嵌入式设备和移动设备的开发,如早期的智能手机、功能...
郭克华老师是一位在IT领域有深厚造诣的教育者,他的J2ME视频教程深受学习者欢迎。这个教程可能涵盖了J2ME的基础概念、核心组件、开发环境的搭建、应用程序的生命周期管理、用户界面设计以及网络通信等内容。通过PPT...
在J2ME中实现视频播放的关键挑战在于处理视频解码。由于资源限制,J2ME通常不支持硬件加速的视频解码。开发者可能需要寻找轻量级的软件解码库,如J2ME VideoPlayer库,或者使用M3G(Mobile 3D Graphics)标准进行...
**J2ME移动开发视频讲义2入门教程** J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,专为资源有限的移动设备如手机、PDA等设计。这个“J2ME移动开发视频讲义2入门教程”是由郭克华教授提供的,旨在帮助...
在本文中,我们将深入探讨如何使用Flutter框架来实现在J2ME平台上开发相机功能。Flutter是一种流行的、跨平台的移动应用程序开发工具,它允许开发者使用单一的代码库为iOS和Android构建高性能的应用。J2ME(Java ...
5. **图形与动画**: 利用Graphics类进行绘图操作,包括绘制图像、线条、形状等,甚至实现简单的动画效果。 6. **多媒体支持**: 如果包含,可能涉及到音频和视频的播放,如JSR 135多媒体API。 7. **游戏开发**: 可能...
本篇将深入讲解如何在J2ME环境中实现一个简单的UDP连接,包括服务器端(Server)和客户端(Client)的编程。 首先,我们来看`Server.java`。服务器端通常负责监听特定的端口,接收客户端发送的数据,并可能向客户端...
他的J2ME视频教程深受学习者欢迎,不仅讲解了J2ME的基本概念,还深入剖析了实际开发中的关键技术和技巧。这些源代码正是郭克华老师教学实践的一部分,它们可以帮助学生和开发者更直观地理解J2ME的编程逻辑和实践应用...
5. **图形与多媒体**:J2ME支持丰富的图形和多媒体处理,教程会讲解如何使用Graphics类进行绘图,以及如何播放音频和视频。 6. **存储管理**:由于移动设备的存储资源有限,教程会讲述如何有效地使用RecordStore...