服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

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


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

扫描关注微信公众号