程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> JAVA編程入門知識 >> Java Applet實現聲音和圖像的協調

Java Applet實現聲音和圖像的協調

編輯:JAVA編程入門知識
  [文章導讀]在有些情況下,可能需要在發生某事件時伴之以聲音,尢其是在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>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved