Java Applet实现声音和图像的协调 |
| 作者:佚名 来源:不详 更新:2006-8-25 21:05:35 错误报告 我要投稿 |
[文章导读]在有些情况下,可能需要在发生某事件时伴之以声音,尢其是在Applet 中装载图像的同时播放声音,这样将大大地丰富Applet的内容 在有些情况下,可能需要在发生某事件时伴之以声音,尢其是在Applet 中装载图像的同时播放声音,这样将大大地丰富Applet的内容。协调使用图像的声音是十分重要的。
声音和图像的协调(Appletl.java)
//源程序清单 import java.awt.*; import java.applet.*; import java.util.*; public class Appletl extends Applet implements Runnable { AudioClip audioClip; Thread ShapeThread=null; Random RandomNumber=new Random( ); Color ImageColor; public void init( ) { audioClip=getAudioClip(getCodeBase( ), "Sample.AU");// 创建一个AudioClip对象 } public void start( ) { if (ShapeThread= =null) { ShapeThread=new Thread(this); ShapeThread.start( ); } } public void run() { while (true) { switch (RandomNumber.nextlnt(5)) { //把随机数转换为0~4之间的值 case 0: ImageColor=Color.black; break; case 1: ImageColor=Color.blue; break; case 2: ImageColor=Color.cyan; break; case3: ImageColor=Color.magenta; break; case4: ImageColor=Color.orange; break; default: ImageColor=Color.red; } try { ShapeThread.sleep(300); //线程睡眠 } catch(InterruptedException e) { //忽略异常 repaint(); } } public void paint(Graphics g) { g.setColor(ImageColor); audioClip.play(); //播放声音 switch(RandomNumber.nextlnt(2)) //获取随机数与2整除的余数 { case0:g.fillRect(25,25,200,200); //添充一个矩形 break; default:g.fillOval(25,25,200,200); //添充一个椭圆 break; } } } 该Applet的声音处理非常简单。它首先创建一个AudioClip对象并用getAudioClip把声音文件赋予该对象,然后用AudioClip类的play方法播放声音。该Applet使用Random对象产生随机数。它首先根据随机数确定颜色;然后在paint内根据随机数确定画圆还是画方。Random类的nexsInt函数返回一个随机整数(int型)。该Applet把随机数转换为一个0~4之间的值(在run函数内)和一个0~1之间的值(在paint函数内)。 需把如下的HTML语句放入Appletl.HTML文件,为运行该Appletl做准备。
<HTML> <TITLE>Applet</TITLE> <APPLET CODE="Appletl.class" WIDTH=300 HEIGHT=300> </APPLET> </HTML> 编译并运行该Appletl,屏幕上将显示出一个Applet窗口,窗口中不
|
|
| 文章录入:skyuu 责任编辑:skyuu |
|
| 【字体:小 大】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 |