| |
M_IMAGES)
m_nCurrImage = 0;
Thread.sleep(30);
}
catch (InterruptedException e)
{
stop();
}
}
В этом бесконечном цикле вызывается метод displayImage, рисующий текущий
кадр видеофильма, после чего номер текущего кадра увеличивается на единицу.
Если показаны все кадры, номер текущего кадра становится равным нулю, а затем
процесс продолжается.
Между отображением кадров выполняется задержка величиной 30 миллисекунд.
Метод displayImage
Метод displayImage вызывается из двух мест - из метода paint при перерисовке
окна аплета и из метода run (периодически).
Если кадры видеофильма не загружены, содержимое флага m_fAllLoaded равно
false и метод displayImage просто возвращает управление, ничего не делая:
if(!m_fAllLoaded)
return;
Если же загрузка изображений завершена, этот метод рисует в центре окна
текущий кадр видеофильма, вызывая для этого знакомый вам метод drawImage:
g.drawImage(m_Images[m_nCurrImage],
(size().width - m_nImgWidth) / 2,
(size().height - m_nImgHeight) / 2, null);
После того как кадр нарисован, мы надписываем на нем его порядковый номер,
вызывая для этого метод drawString:
g.drawString((new Integer(m_nCurrImage)).toString(),
(size().width - m_nImgWidth) / 2,
((size().height - m_nImgHeight) / 2) + 10);
5 ЗВУК В АПЛЕТАХ JAVA
Нельзя сказать, что звуковые возможности аплетов Java чрезмерно велики.
Скорее наоборот, они минимальны. Тем не менее, аплеты могут проигрывать
звуковые клипы, записанные в файлах формата AU, который пришел из мира
компьютеров фирмы Sun.
Сказанное, однако, не означает, что если у вас нет рабочей станции Sun, то
вы не сможете озвучить свои аплеты. Во-первых, в сети Internet можно найти
много готовых звуковых файлов AU, а во-вторых, там же есть программы для
преобразования форматов звуковых файлов. Одну из таких условно-бесплатных
программ, которая называется GoldWave, вы можете загрузить с сервера ftp.
winsite.com.
Загрузка и проигрывание звуковых файлов
Работа со звуковыми файлами во многом напоминает работу с растровыми
графическими файлами. Вначале вы должны получить ссылку на интерфейс AudioClip,
а затем, пользуясь его методами, вы сможете выполнять проигрывание содержимого
этого файла.
Для получения интерфейса AudioClip вы должны воспользоваться одним из двух
вариантов метода getAudioClip, определенных в классе Applet:
public AudioClip getAudioClip(URL url):
public AudioClip getAudioClip(URL url, String name);
Первый вариант метода предполагает указание адреса URL звукового файла через
единственный параметр, второй допускает раздельное указание адреса URL каталога,
содержащего файл, и и
|
|