广

Java编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    Java Applet实现声音和图像的协调

    2018-10-28 11:05:53 次阅读 稿源:互联网
    零七广告
      [文章导读]在有些情况下,可能需要在发生某事件时伴之以声音,尢其是在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>

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告