回上页

在主页里配置音乐

     在 你 的HomePage 中 光 有 文 字、 影 像、 动 态 效 果 的 动 画 还 不 够, 那 就 是 缺 少 动 听 的 音 乐 和 声 音。 其 实 载 入 声 音 文 件 和 放 出 声 音, 和 我 们 处 理 图 片 文 件 的 动 作 是 非 常 相 似 的, 其 主 要 也 是 利 用JAVA 的AudioClip 程 序 包 里 定 义 的 接 口, 它 主 要 提 供 了3 个 方 法,loop()、play() 和stop() 来 播 放au 声 音 文 件, 使 用 起 来 非 常 容 易。

     AU 声 音 文 件 并 不 象WAV 文 件 那 样 常 见, 我 们 可 以 用 一 套 相 当 不 错 的 声 音 处 理 共 享 软 件GoldWave, 它 可 以 将 WAV 文 件 转 换 成AU 类 型 的 声 音 文 件, 有 条 件 的 人 可 以 到http://www.cs.num.ca/ ~chris3/goldwave/ 下 直 接 下 载 下 来 使 用。

     准 备 好 你 的 声 音 文 件 以 后, 接 下 来 的 工 作 就 是 如 何 开 发 你 的 软 件 了, 主 要 有 以 下 几 个 关 键 点:

一.JAVA 程 序 开 发 方 法

1. 在 你 的 程 序 开 始 处 加 上import java.applet.AudioClip 这 一 句, 然 后 我 们 就 可 以 使 用 它 提 供 的 一 些 对AU 声 音 文 件 处 理 的 功 能 了。

2. 利 用Applet 类 中 的getAudioClip 载 入 声 音 文 件, 它 的 格 式 是:soundfile=getAudioClip(getCodeBase(),filenams);

3. 播 放 声 音 文 件, 一 次 播 放 用soundfile.play(), 重 复 播 放 用soundfile.loop()。

4. 停 止 声 音 播 放 用soundfile.stop()。

二. 在 自 己 的HomePage 中 加 入 如 下 程 序 段 就 行 了。

< !HomePage 1998/3/2 >

< HTML >

< HEAD >

。。。。。。

。。。。。。

< BODY >

。。。。。。

< APPLET CODE="javaau.class" WIDTH=200 HEIGHT=40 >< /APPLET >

。。。。。。

< /BODY >

。。。。。。

。。。。。。

< /HTML >

下 面 给 出 我 们 开 发 的JAVAAU.JAVA 程 序, 它 是 按 用 户 进 入 时 间 播 放t0.aut5.au 六 个 声 音 文 件 中 的 一 个:

import java.awt.*;

import java.util.Date;

import java.applet.AudioClip;



public class javaau extends java.applet.Applet {

  AudioClip soundfile;

  Font msgfnt=new Font("TimesRoman",Font.ITALIC,20);

  Date timenow=new Date();/* 取 当 前 时 间*/

  int time,i;

  String s;/* 存 声 音 文 件*/



  public void init()/* 初 始*/

   { time=timenow.getSeconds();/* 取 时 间 的 秒 数*/

     i=time/10;

     s="t"+String.valueOf(i)+".au";/* 生 成 文 件 名*/

     soundfile=getAudioClip(getCodeBase(),s);/* 载 入 声 音 文 件*/

     if (soundfile!=null) soundfile.play();/* 一 次 性 播 放*/

     repaint();

    }



  public void stop()/* 停 止 播 放*/

    {

     if (soundfile!=null) soundfile.stop();

    }



  public void paint(Graphics g)

   {

    g.setFont(msgfnt);

    g.setColor(Color.red);

    g.drawString(" 现 在 播 放"+s,20,20);

    if (soundfile!=null) soundfile.play();

   }



}

以 上 程 序 在HP NetServer 5/100LH 上 调 试 通 过, 开 发 环 境JAVACAFE ver:1.5