动态网站制作指南 [  QQ表情  ]
[ 投票调查 ]
[ 企业邮箱 ]
[ 网站空间 ]
网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
ASP源码 | .Net源码 | PHP源码 | JSP源码 | JAVA源码 | CGI源码 | VB源码 | C++源码 | Delphi源码 | PB源码 | VF源码 | 汇编 | 服务器
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!
当前位置 > 网站建设学院 > 网络编程 > Java教程
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,移动开发
文章搜索服务
邮件订阅
输入你的邮件地址,
你将不会错过任何关于:
[ Java教程 ]的信息

本月文章推荐
.Mini Java编译器(三)——属性翻.
.Java咖啡馆(6)——编写猜数字游戏.
.Hibernate 能够满足我们的验证需.
.基于Nokia S60的游戏开发.
.corba学习1--专有名词.
.学习笔记之JAVA图形设计卷I AWT—.
.JDBCTM 入门指南(3).
.Hibernate 3.2.0.CR1 .
.java 跳转语句.
.开发手机游戏的一点心得(二).
.Think in java 3rd 中文版5.
.使用Digester解析XML文档示例.
.Java编程小技巧集锦.
.JDK 1.5 新功能使用实例之Generi.
.一个正则表达式网站.
.Java基础学习:functor的实现.
.如何用开源软件构建 java 编程环.
.离开Java布局管理器.
.高级编程:三重DES加密程序.
.Java算术运算符.

在MIDP应用程序中播放声音

发表日期:2008-1-5 |


■ 前言

  在上一讲中我们讲述的是如何制作Java手机多媒体功能中的动画,本讲中我们将介绍如何制作JAVA手机的另一个多媒体功能——声音,即N800的音乐播放功能。若是在动画上再配以音乐播放功能,就能制作出具有丰富表现力的应用程序了。

■ 音乐播放

  现在我们利用MIDP应用程序播放音乐。但是, MIDP标准API不支持声音播放功能。机种不同,则声音播放方法也不同,所以每个厂商都会使用他们各自扩展的API 。N800使用NEC扩展的API,所以能用MIDP应用程序播放声音。

■ N800的音乐播放功能

  N800只能播放SMF(format 0)格式的音乐数据,最大文件尺寸为10Kbyte。SMF格式即Standard MIDI File 的缩略语,就是为了能实现互换性而设定的文件形式,互换性是指在不同的应用程序中也具有能处理数据的特性。SMF分为format0和format1两种格式。N800所采用的是format0格式。这两种格式具有以下不同特点。(表 1)

 format0  Midi的16频声音收录在1个磁道上的形式

 format1

 不限制磁道数量的形式

表 1

■ 播放音乐

接下来我们实际操作读取文件播放音乐的功能。

  ● 音乐数据的读取

  利用扩展API上的Media类的static方法读取音乐数据。自变量中记述了音乐数据文件的通过。AudioClip audio = Media.getAudioClip(“/test.mid”);

  另外,能够从web上获得音乐数,并且能够从RMS中得到音乐数据。但,由于形式相同,这里就不非凡讲述了。具体情况请参考扩展API文档。

  ● 播放

  播放读取的音乐数据。使用AudioClip例子(在这称为audio)play方法播放。
  audio.play();

  而且也能同时播放两个以上的音乐数据。此时,使用AudioClip例子(在这称为audio1、audio2)play方法播放。
  audio1.play();
  audio2.play();
  上述情况下能够同时播放audio1,audio2。

  ● 停止

  能够暂停音乐的播放。使用AudioClip例子的stop方法能够停止。
  audio.stop();

  ● 其他功能

  AudioClip定义了读取其他音乐数据信息的方法和决定反复播放次数的方法。(表 2)
 getChannel()  取得音乐数据的频数

 getLapsedTime()

 以MS为单位取得所演奏的音乐数据的播放时间

 getTempo()

 取得音乐数据的速度

 getTime()

 取得音乐数据的播放时间

 setLoopCount(int count)

 设定演奏的音乐数据的反复播放次数

表 2

■ 音频事件

音频演奏过程中,演奏开始时、停止时、结束时都会发生音频事件,能定义此时的处理。要定义音频事件发生时的处理,有必要安装AudioListener接口和记述audioAction方法内的处理。
然后,使用AudioClip对象的addAudioListener方法进入AudioListener。

public class AudioTest implements AudioListener {

 /**
  * 构造函数
  **/

 public AudioTest() {
  AudioClip audio = Media.getAudioClip("/test.mid");// 读取音乐数据
   audio.addAudioListener(this);// 注册audio事务监听器
 }

 /**
  * 音频事件的处理
  **/

 public void audioAction(AudioClip sound, int event, int param) {
    //记述处理
      •
      •
 }
}

ex. 1

记述处理的audioAction方法的自变量如下所示。
 AudioClip sound  传递事件发生来源的对象

 int event

 传递事件的种类

 int param

 传递事件的参数。由于事件不同,则参数的意思也不同。不包含参数的事件的情况下,只传递0

表 3

此外,事件的种类(audioAction方法的自变量、事件)在AudioListener接口文件夹中定义如下。(表 4)
static int AUDIO_COMPLETE  表示音乐播放结束 static int AUDIO_STARTED  表示音乐播放开始 static int AUDIO_COMPLETE  表示音乐播放停止

表 4


以下展示的是只播放音频数据的简单范例。


上一篇:在RMS中存储和读取数据 人气:530
下一篇:如何制作动画程序 人气:2170
浏览全部Java的内容 Dreamweaver插件下载 常用网页广告代码全集
  最新网站源码 最新软件下载
2008-8-21 Nucleus v3.33 多国语言版
2008-8-21 HDWiki v4.0 bulid 080821 UTF-8
2008-8-21 明科在线客服系统 v6.0
2008-8-21 KesionCMS v5.0.2 正式版 utf-8
2008-8-21 KesionEshop v5.0.2 正式版 utf-8
2008-8-21 HDWiki v4.0 bulid 080821 GBK
2008-8-21 新文互动酷站展示系统 v1.5
2008-8-21 Punbb v1.2.20 多国语言版
2008-8-21 QQ头像网 beta
2008-8-16 iLaba Player(小喇叭播放器) v2.
2008-8-16 DoubleClickFix 鼠标双击修正工具
2008-8-16 CrystalCPUID 4.15.2.451
2008-8-16 VeryCD 电驴(easyMule) 1.0.4 Bu
2008-8-16 uTorrent 1.8 Build 11813 - Sta
2008-8-16 比特精灵(BitSpirit) v3.3.2.287
2008-8-16 StayInTune音叉 v1.0 破解版
2008-8-16 iChing《周易》汉化补丁 v1.0
2008-8-16 Starmap星空图v1.0汉化破解版
  发表评论
姓 名: 验证码:
内 容:
[ 汉字翻译拼音 ] [ 广告代码 ] [ 符号对照表 ] [ 进制转换 ] [ 经典小工具 ] [ 个税计算 ] [ 汉字简繁转换 ] [ 普通单位换算 ] [ 公制单位换算 ]
[ 生辰老黄历 ] [ 国内电话区号 ] [ 国家代码与域名缩写 ] [ 文字加密解密 ] [ 健康查询 ] [ 万年历 ] [ 手机号码查询 ] [ ip搜索 ] [ Google PR查询 ]
业务联系 | 广告刊登 | 频道合作 | 投稿荐稿 | 联系方式 | 加入收藏 | RSS订阅
Copyright © 2000-2008 www.knowsky.com All rights reserved | 网络实名:动态网站制作指南 | 沪ICP备05001343号