J2ME应用程序开发奇技淫巧(上)

一、J2ME中如何播放声音

  在J2ME中,处理声音需要使用到Mobile Media API(MMAPI),该包是MIDP1.0的可选包,在MIDP2.0中已经包含了这个包。所以如果你使用MIDP1.0的话,请确认你的运行环境是否支持。

  一般手机支持的声音文件格式为wav、mid和mpg等。具体请查阅你的手机说明文档。
  在声音处理中,有很多处理的方式,这里说一下最常用的情况,播放JAR文件中的wav文件。

   1、按照一定的格式读取声音文件。
  
      播放JAR文件中的声音文件一般是将声音文件处理成流的形式。示例代码:

      InputStream is = this.getClass().getResourceAsStream("/Autorun.wav");

      其中Autorun.wav文件位于JAR文件的根目录下,如果位于别的目录,需要加上目录名称,如/res /Autorun.wav。

   2、将读取到的内容传递给播放器。

  将流信息传递给播放器,播放器按照一定的格式来进行解码操作,示例代码:

         Player player = Manager.createPlayer(is,"audio/x-wav");

  其中第一个参数为流对象,第二个参数为声音文件的格式。

   3、播放声音。

  使用Player对象的start方法,可以将声音播放出来,示例代码:

        player.start();

  在播放声音时也可以设定声音播放的次数,可以使用Player类中的setLoopCount方法来实现,具体可查阅API文档。
 
二、在J2ME手机编程中使用字体

  在J2ME手机编程中,可以通过使用字体类——Font在低级用户界面中,获得更好的表现效果,那么如何使用Font类呢?

  首先,由于手机设备的限制,手机中支持的字体类型很有限,所以在J2ME中只能使用手机支持的默认字体来构造Font类对象。下面是创建Font类的对象时使用的方法:

        getFont(int face,int style,int size);

  无论哪一个参数,都只能使用系统设置的数值,这些数值具体的大小在不同的手机上可能不同。下面对于其中的三个参数的取值做详细的介绍:
  face参数指字体的外观,其的取值:
  FACE_MONOSPACE——等宽字体
  FACE_PROPORTIONAL——均衡字体
  FACE_SYSTEM——系统字体
  style参数指字体的样式,其的取值:
  STYLE_BOLD——粗体
  STYLE_ITALIC——斜体
  STYLE_PLAIN——普通
  STYLE_UNDERLINED——下划线
  STYLE_BOLD | STYLE_ITALIC——粗斜体
  STYLE_UNDERLINED | STYLE_BOLD——带下划线粗体
  STYLE_UNDERLINED | STYLE_ITALIC——带下划线斜体
  STYLE_UNDERLINED | STYLE_ITALIC | STYLE_BOLD——带下划线的粗斜体
  size参数指字体的大小,其的取值:
  SIZE_SMALL——小
  SIZE_MEDIUM——中
  SIZE_LARGE——大
  通过上面的参数的值,可以组合出你需要的字体对象。

  下面是一些常用的字体操作:
  1. 获得系统的默认字体:
        Font font = Font.getDefaultFont();

  2. 在panit方法内部,假设Graphics参数的名称为g,则获得当前字体的方法是:
        Font font = g.getFont();

  3. 在panit方法内部,假设Graphics参数的名称为g,则设置当前字体的方法是:
        g.setFont(font);
  其中font为你构造好的字体对象。

  4. 在MIDP2.0中,List可以设置每行的字体格式,方法是:
        list.setFont(0,font);
       则上面的代码是将list中的第一行设置为font类型的字体。
 
三、在J2ME手机程序开发中使用颜色

  由于J2ME技术比较简单,所以没有实现专门的颜色类,而只是使用RGB的概念来代表颜色。下面是常见颜色的表达形式:

  红色:(255,0,0)或0x00FF0000
  绿色:(0,255,0)或0x0000FF00
  蓝色:(255,255,255)或0x00FFFFFF
  其他颜色也可以通过上面的方式组合出来。

  知道了颜色的表达方式以后,下面来介绍一下如何在J2ME程序中使用颜色,涉及的方法均在Graphics类中,有以下几个:

  1.getColor():
  获得当前使用的颜色,例如:
        int color = g.getColor();
  其中g为Graphics类型的对象。

  2.setColor(int RGB):
  设置使用的颜色。例如:
        g.setColor(0x00ff0000);

  3.setColor(int red, int green, int blue)
  和上面的方法作用一样,例如:

        g.setColor(255,0,0);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值