audiosample2.java

来自「java程序设计 清华出版社 孙燮华老师编写的程序源代码」· Java 代码 · 共 64 行

JAVA
64
字号
//audioSample2.java
import java.awt.*;
import java.applet.*;
import java.awt.event.*;

public class audioSample2 extends Applet implements ActionListener{
  Label lb;                            //标签,显示使用类方法的信息
  AudioClip clip;
  boolean looping=false;
  Button audioOnce=new Button("once"),
         audioLoop=new Button("loop"),
         audioStop=new Button("stop");

  public void init(){
    this.play(getCodeBase(),"audio/piano.wav");//调用Applet类的方法
    lb=new Label("调用Applet类方法.");
    clip=getAudioClip(getCodeBase(),"audio/spacemusic.au"); 
    //clip=getAudioClip(getDocumentBase(),"audio/canon.aiff");  //ok
    //clip=getAudioClip(getDocumentBase(),"audio/flourish.mid");//ok
    audioOnce.addActionListener(this);
    add(audioOnce);
    audioLoop.addActionListener(this);
    add(audioLoop);
    audioStop.addActionListener(this);
    add(audioStop);
    add(lb);
    validate();
  }

  public void start(){
    if(looping){
      clip.loop();
    }
  }

  public void stop(){
    if(looping){
      clip.stop();
    }
  }

  public void actionPerformed(ActionEvent e){
    if(e.getSource()==audioOnce){
      lb.setText("调用AudioClip类方法.");
      clip.play();          //调用AudioClip类的方法
      looping=true;
      audioStop.setEnabled(true);
    }
    else if(e.getSource()==audioLoop){
      lb.setText("调用AudioClip类方法.");
      clip.loop();
      looping=true;
      audioStop.setEnabled(true);
    }
    else{
      lb.setText("调用AudioClip类方法.");
      clip.stop();
      looping=false;
      audioStop.setEnabled(false);
    }
  }
}

⌨️ 快捷键说明

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