⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 clockappletwithaudioonseparatethread.java

📁 此源码为机械工业出版社出版的《Java语言程序设计》第三版所配套的书中所有源代码。
💻 JAVA
字号:
// ClockAppletWithAudioOnSeparateThread.java: Display a 
//  running clock on the applet with audio on a separate thread
import java.applet.*;

public class ClockAppletWithAudioOnSeparateThread
  extends ClockAppletWithAudio
{
  // Declare a thread for announcing time
  AnnounceTime announceTime;

  // Initialize the applet
  public void init()
  {
    super.init();
  }

  // Override this method defined in ClockAppletWithAudio
  // to announce the current time at every minute
  public void announceTime(int s, int m, int h)
  {
    // Load the minute file
    minuteAudio = getAudioClip(getCodeBase(),
      "timeaudio/minute" + m + ".au");

    // Announce current time
    if (s == 0)
    {
      if (h < 12)
        announceTime = new AnnounceTime(hourAudio[h%12],
          minuteAudio, amAudio);
      else
        announceTime = new AnnounceTime(hourAudio[h%12],
          minuteAudio, pmAudio);
      announceTime.start();
    }
  }
}

// Define a thread class for announcing time
class AnnounceTime extends Thread
{
  private AudioClip hourAudio, minuteAudio, amPM;

  // Get Audio clips
  public AnnounceTime(AudioClip hourAudio,
                      AudioClip minuteAudio,
                      AudioClip amPM)
  {
    this.hourAudio = hourAudio;
    this.minuteAudio = minuteAudio;
    this.amPM = amPM;
  }

  public void run()
  {
    // Announce hour
    hourAudio.play();

    // Time delay to allow hourAudio play to finish
    // before playing the clip
    try
    {
      Thread.sleep(1500);
    }
    catch(InterruptedException ex)
    {
    }

    // Announce minute
    minuteAudio.play();

    // Time delay to allow minuteAudio play to finish
    try
    {
      Thread.sleep(1500);
    }
    catch(InterruptedException ex)
    {
    }

    // Announce am or pm
    amPM.play();
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -