clockappletwithaudio.java

来自「一个十分好的java基础学习的课件」· Java 代码 · 共 93 行

JAVA
93
字号
// ClockAppletWithAudio.java: Display a running clock on the applet
// with audio
import java.applet.*;
import java.awt.*;
import java.util.*;

public class ClockAppletWithAudio extends CurrentTimeApplet
{
  // Declare audio files
  protected AudioClip[] hourAudio = new AudioClip[12];
  protected AudioClip minuteAudio;
  protected AudioClip amAudio;
  protected AudioClip pmAudio;

  // Declare a clock
  ClockWithAudio clock;

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

    // Create audio clips for pronouncing hours
    for (int i=0; i<12; i++)
      hourAudio[i] = getAudioClip(getCodeBase(),
        "timeaudio/hour"+i+".au");

    // Create audio clips for pronouncing am and pm
    amAudio = getAudioClip(getCodeBase(), "timeaudio/am.au");
    pmAudio = getAudioClip(getCodeBase(), "timeaudio/pm.au");
  }

  // Override the createClock method defined in CurrentTimeApplet
  public void createClock()
  {
    getContentPane().add(clock =
      new ClockWithAudio(locale, timeZone, this));
  }

  // Announce the current time at every minute
  public void announceTime(int s, int m, int h)
  {
    if (s == 0)
    {
      // Announce hour
      hourAudio[h%12].play();

      // Load the minute file
      minuteAudio = getAudioClip(getCodeBase(),
        "timeaudio/minute"+m+".au");

      // Time delay to allow hourAudio play to finish
      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
      if (h < 12)
        amAudio.play();
      else
        pmAudio.play();
    }
  }

  // Implement Applet's start method to resume the thread
  public void start()
  {
    clock.resume();
  }

  // Implement Applet's stop method to suspend the thread
  public void stop()
  {
    clock.suspend();
  }
}

⌨️ 快捷键说明

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