华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> javaWeb >> 文章內(nèi)容

JavaApplet實(shí)現(xiàn)聲音和圖像的協(xié)調(diào)

來(lái)源:中華考試網(wǎng)  [2020年11月28日]  【

  在有些情況下,可能需要在發(fā)生某事件時(shí)伴之以聲音,尢其是在Applet 中裝載圖像的同時(shí)播放聲音,這樣將大大地豐富Applet的內(nèi)容。協(xié)調(diào)使用圖像的聲音是十分重要的。

  聲音和圖像的協(xié)調(diào)(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");// 創(chuàng)建一個(gè)AudioClip對(duì)象

  }

  public void start( )

  {

  if (ShapeThread= =null)

  {

  ShapeThread=new Thread(this);

  ShapeThread.start( );

  }

  }

  public void run()

  填寫(xiě)下面表單即可預(yù)約申請(qǐng)免費(fèi)試聽(tīng)java課程!害怕學(xué)不會(huì)?助教陪讀,隨時(shí)解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國(guó)推薦就業(yè)!

預(yù)約申請(qǐng)免費(fèi)聽(tīng)java課程

  • 地區(qū):
  • 姓名:
  • 手機(jī):

  {

  while (true)

  {

  switch (RandomNumber.nextlnt(5)) { //把隨機(jī)數(shù)轉(zhuǎn)換為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)) //獲取隨機(jī)數(shù)與2整除的余數(shù)

  {

  case0:g.fillRect(25,25,200,200); //添充一個(gè)矩形

  break;

  default:g.fillOval(25,25,200,200); //添充一個(gè)橢圓

  break;

  }

  }

  }

  該Applet的聲音處理非常簡(jiǎn)單。它首先創(chuàng)建一個(gè)AudioClip對(duì)象并用getAudioClip把聲音文件賦予該對(duì)象,然后用 AudioClip類的play方法播放聲音。該Applet使用Random對(duì)象產(chǎn)生隨機(jī)數(shù)。它首先根據(jù)隨機(jī)數(shù)確定顏色;然后在paint內(nèi)根據(jù)隨機(jī)數(shù) 確定畫(huà)圓還是畫(huà)方。Random類的nexsInt函數(shù)返回一個(gè)隨機(jī)整數(shù)(int型)。該Applet把隨機(jī)數(shù)轉(zhuǎn)換為一個(gè)0~4之間的值(在run函數(shù) 內(nèi))和一個(gè)0~1之間的值(在paint函數(shù)內(nèi))。

  需把如下的HTML語(yǔ)句放入Appletl.HTML文件,為運(yùn)行該Appletl做準(zhǔn)備。

  編譯并運(yùn)行該Appletl,屏幕上將顯示出一個(gè)Applet窗口。

責(zé)編:fushihao
  • 會(huì)計(jì)考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語(yǔ)考試
  • 學(xué)歷考試
永仁县| 城步| 恩平市| 乌鲁木齐市| 津南区| 温宿县| 天峨县| 新密市| 凌海市| 吐鲁番市| 淳安县| 犍为县| 崇信县| 静安区| 灌阳县| 衡水市| 宝应县| 稻城县| 皋兰县| 崇文区| 获嘉县| 上蔡县| 武功县| 通道| 双柏县| 蒲江县| 唐河县| 肃宁县| 桃江县| 汾西县| 织金县| 南通市| 凌云县| 高阳县| 疏附县| 怀集县| 肥乡县| 荔波县| 广灵县| 浦江县| 辉县市|