网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 移动短信技术
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.SMS开发的资料包.
.在PC上通过手机发送短消息(续篇).
.MIDP2.0手机上手电筒程序的实现.
.基于Nokia S60的游戏开发之四.
.CMPP DELIVER.
.空中下载技术的特点及其实现方式.
.CMPP ACTIVE TEST.
.NOKIA封装的手机开发包SDK文档.
.MIDP游戏开发中处理文字的换行方.
.使用WinInet编写发送短信程序.
.Windows CE.Net下矩阵键盘开发设.
.基于SMPP协议的GSM短消息增值业务.
.基于Nokia S60的游戏开发之五.
.NOKIA 铃声图片方面的标准文档.
.西门子图片比较粗糙的一个算法.
.用C#完成的QuerySMStatusA(华为A.
.利用手机模块实现短消息(二).
.移动业务代码规范方案.
.基于Nokia S60的游戏开发之一.
.J2ME编程之Nokia 7210配置篇.

手机铃声和图片的详细设计说明

发表日期:2003-2-14


手机铃声和图片的详细设计说明

这篇文档将前些日子自己测试的过程写下来供大家参考,可能现在这些东西许多人已经不再做了,但为了那些还在为这些东西摸索的朋友提供方便我还是写出来,但因为时间和资料的原因,所涉及到的还不是很全,希望知道更多细节的朋友们能与我分享你们在这方面的经验与知识。我将尽可能详细地写出它们制作的过程,包括测试用的手机型号,使用的工具,相关的算法,SP发送参数的设置等。

一. MOTOROLA普通铃声
1) 测试环境:手机型号--A388、T191;工具--NOK2PHONE;网关--亚信
2) 制作过程:以”999朵玫瑰”为例,首先用NOK2PHONE打开相应的MIDI文件,在NOK2PHONE的输出框中产生MOTOROLA普通铃声所需的字串,如” 2 F2 E2 C2 D4 R2 A-1 G-1 F-2 G-2 C2 A-6 A-4 C2 A-2 G-6 D1 D1 C2 D2 E2”,根据算法计算出真正所需发送的铃声,内容是” L35&2 2F2E2C2D4R2A-1G-1F-2G-2C2A-6A-4C2A-2G-6D1D1C2D2E2&&27”,通过SP程序将该字串做为普通的文本消息发送至手机,手机上显示收到铃声。
3) 算法:MOTOROLA的铃声格式如下:
<Header><Tempo Value><Musical Data><Delimiter><Checksum>
-----------------------------------------------------------------------------------------
Header:L35&
Tempo Value:由1或2或3或4加空格构成,缺省为2,如”2 “
Musical Data:将NOK2PHONE中产生的字串去掉空格即可
Delimiter:&&
Checksum:对Musical Data进行的校验和,两个字节。方法为对Musical Data中的数据从前往后对每个字符进行异或运算,运算的结果假设其十六进制的表示为XY,那Checksum的第一个字节的十六进制形式为3Y,第二个字节的十六进制形式为3X。

部分算法:
BYTE a = 0, check1, check2;
CString sRead(_T(“2 F2 E2 C2 D4 R2 A-1 G-1 F-2 G-2 C2 A-6 A-4 C2 A-2 G-6 D1 D1 C2 D2 E2”)), sRing;

sRead.Replace(" ","");
arrayMessage.SetSize(sRead.GetLength() + 1);
strcpy((char *)arrayMessage.GetData(), sRead);
for(int i=0;i<arrayMessage.GetSize()-1;i++)
{
a = a ^ arrayMessage.GetAt(i);
}

check1 = 0x30 + (a & 0xf);
check2 = 0x30 + (a>>4 & 0xf) ;

sRing.Format("L35&2 %s&&%c%c",(char *)arrayMessage.GetData(),check2,check1);
4) 发送参数设置:该消息是以普通文本方式的消息下发,ftm=0,udhi=0,pid=0,如果Checksum不对,则该消息以文本方式显示在手机上,否则显示为铃声。

二. SIEMENS图片(适用于其支持的各种大小的图片)
1) 测试环境:手机型号--3118;网关--亚信
2) 制作过程:首先选择一张101X29的单色BMP图做为源文件,文件名为1.BMP。通过程序的处理源文件被拆成4条连续的消息以二进制的形式存放在文件1.PIC中,发送时依次取出来发送即可。第一条和第四条消息的十六进制内容如下:
第一条:2F 2F 53 45 4F 01 6E 00 DD 05 00 00 01 00 04 00 8E 01 00 00
03 62 6D 70 05 31 2E 62 6D 70 42 4D 8E 01 00 00 00 00 00 00
3E 00 00 00 28 00 00 00 48 00 00 00 1C 00 00 00 01 00 01 00
00 00 00 00 50 01 00 00 00 00 00 00 00 00 00 00 02 00 00 00
02 00 00 00 FF FF FF 00 00 00 00 00 C0 3F 00 00 00 10 EB 00
00 00 00 00 E0 3F 00 FC 00 21 DB 00 00 00 00 00 E0 3E 03 03
00 71 F3 00 00 00 00 00 E0 3E 04 00 80 0D FE 00 00 00 00 00
…….
第四条:2F 2F 53 45 4F 01 6E 00 DD 05 00 00 04 00 04 00 8E 01 00 00
03 62 6D 70 05 31 2E 62 6D 70 0E 18 00 DB E0 00 00 00 0F E7
FF FC 1C 10 00 71 C0 00 00 00 07 FF BE 00 3C 70 00 00 00 00
00 00 07 EF FC 00 DF E0 00 00 00 00 00 00 05 EC FF 00 FB C0
00 00 00 00 00 00 02 66 DF 00 BF 30 00 00 00 00 00 00
3) 算法:其图片格式如下:
<Identifier><Version><DataSize><ReferenceID><ActPacketNumber><NumberOfPackets><ObjectSize> <ObjectType><ObjectName><Data>
-----------------------------------------------------------------------------
Identifier:标识。5字节。设为”//SEO”(注意大小写)
Version:版本号。1字节。设为1
DataSize:数据大小。2字节。每个包里可图片数据的大小,对于同一图片的不同包的该值相同,最后一个包里实际剩余数据大小不足时,添0补足
ReferenceID:序列号。4字节。可自行设定,对同一图片的不同包的该值相同
ActPacketNumber:当前包是第几包。2字节。从1开始计数
NumberOfPackets:总包数。2字节。
ObjectSize:图片的大小。4字节。
ObjectType:类型为图片。4字节。第一字节为长度,因为类型为”bmp”所以第一字节为3,第二至第四字节为”bmp”
ObjectName:图片的名称,包括扩展名。长度不定。第一个字节为长度。如图片为1.bmp,则ObjectName的长度为6,第一个字节为5。第二至六个字节为”1.bmp”
Data:图片数据。从图片文件中拆分出来的数据。

上一篇:motorola铃声算法,是Java的! 人气:12544
下一篇:NOKIA、MOTOROLA、SIMENS及ERICCSON铃声和图片格式分析 人气:13526
浏览全部铃声的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐