Иллюстрированный самоучитель по Java
Звук
Как было указано в предыдущей главе,
в апплетах реализуется интерфейс Audioclip. Экземпляр объекта, реализующего
этот интерфейс можно получить методом getAudioClip(), который, кроме того, загружает
звуковой файл, а затем пользоваться методами play о, loop о и stop о этого интерфейса
для проигрывания музыки.
Для применения данного же приема
в приложениях в класс Applet введен статический метод newAudioclp(URL address),
загружающий звуковой файл, находящийся по адресу address, и возвращающий объект,
реализующий интерфейс Audioclip. Его можно использовать для проигрывания звука
в приложении, если конечно звуковая система компьютера уже настроена.
В листинге 15.14 приведено простейшее
консольное приложение, бесконечно проигрывающее звуковой файл doom.mid, находящийся
в текущем каталоге. Для завершения приложения требуется применить средства операционной
системы, например, комбинацию клавиш <Ctrl>+<C>.
Листинг 15.14.
Простейшее аудиоприложение
import j ava.applet.*
;
import j ava.net.*;
class SimpleAudio{
SimpleAudio ()
{
try{
AudioClip ac =
Applet.newAudioClip(new URL("file:doom.mid"));
ac.loop();
}catch(Exception
e){}
}
public static
void main(String[] args){
new SimpleAudio();
}
}
Таким способом можно проигрывать
звуковые файлы типов AU, WAVE, AIFF, MIDI без сжатия.
В состав виртуальной машины Java,
входящей в SUN J2SDK начиная с версии 1.3, включено устройство, проигрывающее
звук, записанный в одном из форматов AU, WAVE, AIFF, MIDI, преобразующее, микширующее
и записывающее звук в тех же форматах.
Для работы с этим устройством созданы
классы, собранные в пакеты javax.sound.sampled, javax.sound.midi, javax.sound.sampled.spi
и javax.sound.midi.spi. Перечисленный набор классов для работы со звуком получил
название Java Sound API.