WEB开发网
开发学院WEB开发Jsp JavaApplet编程之声音和图像的协调 阅读

JavaApplet编程之声音和图像的协调

 2008-01-05 18:56:21 来源:WEB开发网   
核心提示:在有些情况下,可能需要在发生某事件时伴之以声音,JavaApplet编程之声音和图像的协调,尢其是在Applet 中装载图像的同时播放声音,这样将大大地丰富Applet的内容,为运行该Appletl做预备,<HTML><TITLE>Applet</TITLE><APPLET CODE="

  在有些情况下,可能需要在发生某事件时伴之以声音,尢其是在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窗口,窗口中不

Tags:JavaApplet 编程 声音

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接