<iframe align="center" marginwidth="0" marginheight="0" src="http://www.zealware.com/csdnblog336280.html" frameborder="0" width="336" scrolling="no" height="280"></iframe>
郑昀 | 产品名称 | 产品版本 |
Keyword: Mobile VideoControl Media 拍照手机 j2me midp midlet WebCam java | VideoCoolala [MobileWebCam] | 1.12.1305 |
[J2ME] VideoCoolala(MobileWebCam)
开源说明
我的MobileWebCam资源:
1:《[J2ME]VideoCoolala(MobileWebCam)开源说明》
2:《[J2ME]VideoCoolala(MobileWebCam)设计说明》
3:下载源代码:http://www.cnblogs.com/Files/zhengyun_ustc/videocoolala-src.rar
4:下载midlet:jad: videoim.jad jar: videoim.jar
摘要:
本文档给出VideoCoolala(MobileWebCam)的开源说明。
第1章 简单描述VideoCoolala(MobileWebCam)的功能和特别之处。
第2章 描述调用VideoCoolala(MobileWebCam)的开源版权声明。
第3章 给出了 VideoCoolala(MobileWebCam)的下载资源。
1背景、功能和特别之处
摘要:本章 简单描述VideoCoolala(MobileWebCam)的背景、功能和特别之处。
1.1. MobileWebCam概念
首先,我定义一个名词,我这里提到的MobileWebCam,就像WebCam是网络摄像头一样,MobileWebCam就是“移动网络摄像头”。
但是,您会提出一个疑问了,手机的视频在当前移动网络带宽的情况下是不是不实用呢?
那么,我们换一种方式,把刷新的频率降低降低再降低,15秒钟刷新一次,如何?
我们提供的VideoIM手机自动拍照上传器J2ME版本[开源]就是这么一种概念:
一个可以下载到手机(例如Nokia7610已经确实可以下载安装并正常运行)的Java应用程序,用来自动驱动你的手机摄像头定时拍摄一张图像(默认是Jpeg格式,数据量很小)。然后,后台线程将Jpeg图像(很小,大约几KB)上传到服务器上。手机默默地拍照,默默地上传照片,比如你可以设置每隔三分钟拍一张照片,然后上传到Flickr这个著名的图片共享站点上,全世界都会看到你的慢速视频。
这样就可以帮助其他系统工作,比如这么一个场景:
PC机上的MSN Messenger用户Vicky正在和你的移动MSN Messenger通过这种方式视频聊天,Vicky的聊天对话框上能够看到你的头像,并且每隔十几秒钟就看到你的手机所看到的画面了,是不是就是一种慢速的移动视频聊天呢?
1.2. 如何来体验MobileWebCam
如果你真的要在实际生活中用到这种功能,那么请申请开通你的GPRS包月套餐,那样20块钱就可以自由使用GPRS了。
建议你的手机是Nokia的拍照手机,同时用Nokia程序管理器设置这个应用配置两个参数:在连接网络时第一次询问,在使用多媒体时第一次询问。
为了更好地体验本应用,请先下载videoim.jad和videoim.jar到计算机上,安装了J2ME模拟器后,双击运行videoim.jad。你就可以看到下面所描述的效果了。在此基础上,您可以修改,以上传图像到不同类型的服务器上,比如http://Flickr.com,http://space.msn.com。
我在服务器上只是简单放了一个ASP页面,很单纯地将接收到的图片数据,存放在临时目录下,您可以浏览http://219.238.168.183/videoim/tmp/以查看。
1.3. VideoCoolala功能列表
下面介绍VideoCoolala-MobileWebCam的功能列表:
l 我要MobileWebCam
n 启动MobileWebCam
n 停止MobileWebCam
l 设置MobileWebCam
l 关于MobileWebCam
l 退出
下面就是应用程序的主界面:
<shapetype id="_x0000_t75" stroked="f" filled="f" path="m@4@5l@4@11@9@11@9@5xe" o:preferrelative="t" o:spt="75" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0"></f><f eqn="sum @0 1 0"></f><f eqn="sum 0 0 @1"></f><f eqn="prod @2 1 2"></f><f eqn="prod @3 21600 pixelWidth"></f><f eqn="prod @3 21600 pixelHeight"></f><f eqn="sum @0 0 1"></f><f eqn="prod @6 1 2"></f><f eqn="prod @7 21600 pixelWidth"></f><f eqn="sum @8 21600 0"></f><f eqn="prod @7 21600 pixelHeight"></f><f eqn="sum @10 21600 0"></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><lock aspectratio="t" v:ext="edit"></lock></shapetype>
图1-1 VideoCoolala的主界面
图1-2 VideoCoolala的摄像头启动界面
图1-3 VideoCoolala的设置界面
1.4. 特别之处
下面,我们说说这个应用程序的特别之处。
l 这个应用程序的总体思路来自于Mowecam的设计理念。
l MVC的类分解,采用了 mingjava 的思路。
l 对RMS记录存储的封装模式以及对资源的调用方式,则参照了索爱公司的BlueGammon游戏代码。
对于MVC的类分解,你还可以参考我的另一篇文章《[J2ME]RSSOwlMidlet(RSS无线阅读器)设计说明》。
BlueGammon游戏源代码,你可以从
http://www.cnblogs.com/Files/zhengyun_ustc/Bluegammon-eclipse.rar 下载。
BlueGammon的代码很经典,我只是套用了BlueGammon的RmsFacade类,将对RMS的操作完全封装起来。另外用VideoSettings类来提供存储和读取RMS中关于本应用所需要的几个参数的功能,VideoSettings其实就是调用了RmsFacade类。
总结一下特别之处。
l 可以设置每隔多少秒钟,抓拍一张照片,上传服务器;
l 可以设置玩家姓名;
l 可以设置远程服务器的接收页面的URL;
l 在传送数据的过程中可以提示用户,总共要传送多少字节,还剩余多少字节没有传输;
l 传送的过程发生了错误,会有Alert界面提示用户。
特别是比原来Mowecam的版本增加了几个特性:
l 可以设置抓拍图像的格式,以及大小,从而能够让用户自己控制上传图像的数据量大小;
l 当请求远端服务器时,加入了动画等候画面,提示用户正在不断地向服务器上传数据;
一般来说,Jpeg格式是推荐的,因为它数据量很小,其次是gif和bmp,但这两种格式手机不一定支持,最差的是png格式。
在服务器,我制作了一个很简单的ASP页面来接收图像数据,并进行保存。代码很简单,就是利用ADODB.Stream读写数据流,从而能够接收手机持续不断上传的数据,知道如何保存。
1.5. 小结
总的来说,如果你使用Nokia的拍照手机,在使用VideoCoolala之前,先用Nokia程序管理器设置这个应用配置两个参数:在连接网络时第一次询问,在使用多媒体时第一次询问。
这样,当从菜单上启动MobileWebCam之后,程序在第一次启动摄像头抓拍图像时,Nokia会问你是否允许本程序使用照相机、视频播放或音频应用程序?你选择“是”,如下图所示:
图1-4 VideoCoolala的是否要“录制”界面
以后再抓拍照片,手机就不会再询问你了。
然后,程序要把照片上传到服务器上,这时候程序在第一次使用网络时,Nokia会问你是否允许本程序使用网络或收发数据?你选择“是”,如下图所示:
图1-5 VideoCoolala的是否要“网络通话”界面
以后再传递数据,手机就不会再询问你了。
这样,手机默默地拍照,默默地上传照片,不会再来麻烦你了。服务器上的图片就会越来越多。你的手机看到了什么,你的朋友们也就会看到什么,比如你可以设置每隔三分钟拍一张照片,然后上传到Flickr这个著名的图片共享站点上,全世界都会看到你的慢速视频,好玩吧?
你可以选择退出停止MobileWebCam或者退出,就可以中断当前的所有行为。下一次启动MobileWebCam,它还会询问你是否允许使用照相机,还会询问是否允许使用网络。
2 开源版权声明
摘要:本章描述VideoCoolala(MobileWebCam)的开源版权声明。
由于我这个版本的 VideoIM手机自动拍照上传器J2ME版本 也是基于Mowecam的设计理念基础上改编而来的,所以决定遵照GPL协议的大意开放源代码,您可以自由传播和修改,在遵照下面的约束条件的前提下:
条件1 |
只要你在VideoCoolala(MobileWebCam)的每一副本上明显和恰当地出版版权声明,保持此许可证的声明和没有担保的声明完整无损,并和程序一起给每个其他的程序接受者一份许可证的副本,你就可以用任何媒体复制和发布你收到的原始的程序的源代码。你可以为转让副本的实际行动收取一定费用。你也有权选择提供担保以换取一定的费用。 |
条件2 |
你可以修改VideoCoolala(MobileWebCam)程序的一个或几个副本或程序的任何部分,以此形成基于程序的作品。只要你同时满足下面的所有条件,你就可以按前面第一款的要求复制和发布这一经过修改的程序或作品。 a) 你必须在修改的文件中附有明确的说明:你修改了这一文件及具体的修改日期。 b) 你必须使你发布或出版的作品(它包含程序的全部或一部分,或包含由程序的全部或部分衍生的作品)允许第三方作为整体按许可证条款免费使用。 c) 如果修改的程序在运行时以交互方式读取命令,你必须使它在开始进入常规的交互使用方式时打印或显示声明:包括适当的版权声明和没有担保的声明(或者你提供担保的声明);用户可以按此许可证条款重新发布程序的说明;并告诉用户如何看到这一许可证的副本。(例外的情况:如果原始程序以交互方式工作,它并不打印这样的声明,你的基于程序的作品也就不用打印声明)。 |
这样,您就可以自由使用并传播本源代码,当然请您原封不动地保留原作者信息。
3 资源
我的MobileWebCam资源:
1:《[J2ME]VideoCoolala(MobileWebCam)开源说明》
2:《[J2ME]VideoCoolala(MobileWebCam)设计说明》
3:下载源代码:http://www.cnblogs.com/Files/zhengyun_ustc/videocoolala-src.rar
4:下载midlet:jad: videoim.jad jar: videoim.jar
网络资源:
1:熟练使用J2ME在实际开发中的可选包MMAPI
2:J2ME中用MMAPI开发手机摄像头程序
3:Camera speed evaluation of the Nokia 6600
4:BlueGammon
编写者 | 日期 | 关键词 |
郑昀@ultrapower | 2005-10-12 | Mobile VideoControl Media 拍照手机 j2me midp midlet WebCam java |
相关推荐
在平时的开发中,我们会碰到数据量过大的问题,为了解决这个问题,我们可以用GZIP处理方式,J2ME本身没有提供GZIP压缩,但可以利用一些开源包。 上面此句用于解压GZIP,至是否要转换成DataInputStream还是...
《1945 J2ME 开源程序:深入解析经典飞行射击游戏的移动实现》 在移动设备尚未普及高性能3D图形的时代,J2ME(Java Micro Edition)作为一款跨平台的开发工具,广泛应用于手机游戏开发。其中,1945是一款经典的飞行...
Lib9-J2me版本:http://code.google.com/p/j2me-lib9/ Lib9-Android版本:http://code.google.com/p/android-lib9/ 这个引擎到底怎么样,可以通过下面的案例来得到证实! 成功案例,一套大型联网游戏(MM宝贝)(下载...
【elechat: j2me midlet-开源】 `elechat` 是一个开源项目,它创建了一个J2ME(Java 2 Micro Edition)平台上的MIDlet应用,专门用于实现移动设备上的即时通讯功能。MIDlet是J2ME中的一种应用程序类型,主要用于...
标题 "Cipher j2me messenger-开源" 暗示了我们正在讨论的是一个基于Java ME (J2ME) 的开源即时通讯应用,该应用可能包含了加密功能,旨在为移动设备提供安全的消息传递服务。J2ME是Java的一种轻量级平台,常用于...
**Proteus J2ME 浏览器:开源的力量** Proteus J2ME 浏览器是一款专为小型Java设备设计的开源浏览器。这款浏览器的出现,旨在提供一种高效且适应性强的浏览体验,特别是在资源有限的移动设备上。J2ME(Java 2 Micro...
【Motorola J2me Loader-开源】是一款专为摩托罗拉手机设计的Java应用程序加载工具,它使得开发者和用户能够方便地将基于J2ME(Java 2 Micro Edition)平台的程序安装到摩托罗拉手机上。J2ME是Java的一个版本,主要...
《J2ME Ezmenu:开源框架的探索与实践》 J2ME,全称为Java 2 Micro Edition,是Java平台的一个子集,主要用于移动设备、嵌入式设备和消费类电子产品的开发。在J2ME的世界里,Ezmenu是一个备受开发者青睐的开源框架...
**J2ME Minesweeper 开源项目详解** J2ME Minesweeper是一款基于Java 2 Micro Edition (J2ME) 平台开发的扫雷游戏,适用于具备MIDP 2.0支持的移动设备,如手机或掌上电脑(PDA)。该项目充分利用了J2ME的可移植性,...
在J2ME的世界里,框架的选择对于简化开发、提高效率至关重要,而Kuix就是这样一款优秀的开源框架。 Kuix框架,源自国外,专为J2ME应用设计,其目标是提供一套强大且易用的工具集,帮助开发者快速构建功能丰富的移动...
J2ME Polish是用于快速开发J2ME应用程序的下一代框架。 包括的功能包括强大的GUI框架,实用程序类和用于创建设备优化应用程序的基于ant的构建工具。
Bebop J2ME Library是一个开源的图形用户界面(GUI)库,专为Java Micro Edition (J2ME) 平台设计。这个库的核心是基于`javax.microedition.lcdui.Canvas`,这是一个基础的图形绘制类,允许开发者在移动设备上创建...
IntelliME J2ME 插件是为开发者提供的一款开源工具,专为在 IntelliJ IDEA 集成开发环境中创建和调试Java Micro Edition (J2ME) 应用程序而设计。这款插件的出现,极大地简化了J2ME应用的开发流程,尤其是对于那些...
开源的J2ME引擎为开发者提供了一个灵活且免费的工具,使得他们能够创建复杂的移动应用程序,尤其是游戏。这种引擎允许开发者深入研究代码,理解其工作原理,并根据需求进行定制,从而提高性能和用户体验。开源的特性...
安装过程通常只需按照提示进行,但配置环境变量是关键步骤,虽然文档没有详细说明,但通常需要设置JAVA_HOME、PATH和CLASSPATH等环境变量,确保系统能够找到JDK的安装位置。 2. **安装Eclipse**:Eclipse是一个广泛...
本文将深入探讨一款名为"S/Key Generator"的开源项目,它是专门为Java Mobile Edition (J2ME) 架构设计的一次性密码(OTP)生成器。该工具遵循RFC2289标准,旨在为使用Java语言的手机提供额外的安全保障,确保用户数据...
随着 j2me 的普及,出现了许多开源框架,旨在简化开发过程,提高开发效率。下面将介绍这些框架,並分析它们的特点和功能。 1. EasyMF 简易 J2ME 开发框架 EasyMF 是一个 J2ME 开发框架,目标是设计一个简单、稳定...
Jeocaching 是一个基于 j2me 的软件,用于著名的寻宝游戏(有关详细信息,请参阅 geocaching.com),适用于具有蓝牙 GPS 接收器的 J2ME 设备(大多数手机)。 关键词:基于位置的服务,寻宝,GPS,j2me,蓝牙
J2ME,全称Java 2 Micro Edition,是Java平台的一个子集,主要用于嵌入式设备和移动设备的开发,如手机、智能电表、家庭自动化设备等。它提供了跨平台的开发环境,使得开发者可以编写一次代码,到处运行。J2ME由两大...
在`Window` -> `Preferences`中,如果看到`J2ME`这一项,说明EclipseME已经成功安装。 ### 第五步:安装和配置WTK 1. 双击下载的WTK 2.5.2安装文件,按照提示进行安装。 2. 安装完毕后,在Eclipse中配置WTK与...