24.2 Applet的多媒体处理

处理声音和图像是Applet兴起的目的。本节将会通过实例,学习如何针对这些多媒体的内容进行处理。其实多媒体的处理不是一件很难的事情,关键在于函数的调用。

24.2.1 声音处理

Java可以播放的声音文件格式有AIFF、AU、WAV、MIDI、RMF等。Applet包中的AudioClip接口包含了与声音相关的API,它可以实现声音文件的反复播放,在需要的时候,可以停止声音文件的播放。下面是AudioClip接口中的一些常用方法。

void play():播放声音文件一次。

void stop():停止播放声音文件。

void loop():循环播放声音文件。

若想播放声音文件,只需从Applet对象中获取AudioClip对象即可,在Applet类中有一些与AudioClip接口相配合的方法,具体如下所示。

public void play(URL url):播放指定url处的声音文件。

public void play(URL url, String name):播放指定位置url处,名称为name的声音文件。

public final static AudioClip newAudioClip(URL url):获取可用于播放指定位置url处声音文件的AudioClip对象。

public AudioClip getAudioClip(URL url),public AudioClip getAudioClip(URL url, string name):都是获取播放指定位置声音文件的AudioClip对象。

【实例24.2】下面就针对声音的播放,举一个有关的实例。


01 import java.applet.*;

02 import java.awt.*;

03 ///创建一个AudioClip对象voice

04 ///在初始化方法中,播放音乐

05 ///在运行方法中,不断播放

06 ///在停止方法中,停止播放音乐

07 public class test2 extends Applet

08 {

09 AudioClip voice;

10 public void init()

11 {

12 voice=getAudioClip(getCodeBase(),"ding.wav");

13 }

14 public void start()

15 {

16 voice.loop();

17 }

18 public void stop()

19 {

20 voice.stop();

21 }

22 }


在同一个目录下创建一个HTML文件如下:


23<html>

24<body>

25<Applet code="test2.class"width="200"height="200">

26</Applet>

27</body>

28</html>


【代码说明】第12行指定要播放的文件,第25行将Applet嵌入到HTML文件中。

【运行效果】当运行时,程序会不断地播放ding.wav这个声音文件,直到转到其他页面,才会停止播放音乐。