Урок 2. Простой MP3-плеер - это не очень
просто
Возьмите объекты CBK_Time и CBK_Total и поместите их в ряд справа от
заголовка - пусть отображают время звучания. А слева от
заголовка создадим аудиовизуализацию - есть, оказывается, в
программе такой объект.
С помощью инструмента аудиовизуализации (вы
найдете его на панели инструментов) нарисуйте прямоугольную
область слева от заголовка на области дисплея. Зайдите в
свойства этого объекта, смените тип визуализации на
"Осциллограф" и время вычисления поставьте 35 (по умолчанию
100, но это слишком медленно). Цвет выберите на свой вкус, а
фон оставьте черным.
Не спешите расстраиваться, если при проверке
плеера окажется, что визуализация не работает. Это такой
мелкий глюк программы - визуализация иногда заводится только
"с пинка". Вот поэтому две первых кнопки из четырех круглых
кнопок давайте используем для переключения типа визуализации,
что и будет являться этим самым "пинком".
Переключать тип визуализации с осциллограммы на
спектрограмму (или эквалайзер) на самом деле очень просто. Для
этого назначьте кнопкам скрипт (его можно просто выбрать с
помощью Мастера сценариев):
AudioVisualizationType("AudioVisualization","ANALYZER")
для одной, и
AudioVisualizationType("AudioVisualization","OSCILOSCOPE")
для другой. Теперь, если визуализация не
заводится сразу, то после нажатия этих кнопок будет
переключаться и работать нормально. Вот что у нас получилось
(или должно было получиться) в итоге:
Да, у нас же остались еще две круглых кнопки.
Крайней справа назначьте действие Exit, а другой - Minimize (она будет сворачивать плеер в
трей). Оба действия можно найти в списке внешних команд.
Вы уже ждете, когда же мы будем делать плейлист.
Вот, пожалуйста.
Зайдите в окно настроек проекта и измените высоту
окна с 75 на 350 точек. Это нам нужно потому, что иначе не
хватит рабочей области экрана снизу для нормальной работы с
объектами. Увеличенное окно должно стать голубого цвета фона
(вы же назначали цвет фона?). Ну, а чтобы плеер по-прежнему
запускался в окне с размерами 400х75, придется пойти на
маленькую хитрость. Давайте откроем свойства страницы и зайдем
в окно написания скрипта (напомню, что старт страницы, иначе
говоря, запуск приложения, сразу может приводить в исполнения
некоторый сценарий. Это очень удобно, в чём мы сейчас и
убедимся). Вот и зададим скрипт, чтобы при старте проекта окно
сразу переключалось на нужный нам размер.
В окне сценария вы не найдете команду по
изменению размеров окна. Нужно выбрать пункт SysCommand, и тогда справа, в поле
"Помощь", вы увидите список доступных системных команд. Это
окно так устроено, что позволяет из него копировать текст.
Скопируйте оттуда название команды ResizeWindow и
поместите ее в поле System
Command, а в поле Parameters напишите через запятую
цифры 0,75. Цифра ноль означает, что размер по горизонтали
менять не надо, а цифра 75 - ну, вы догадались...
Всё. Сохраните проект и нажмите F5. Вы увидите, что он волшебным образом
запускается в прежнем окне.
На свободном поле снизу плеера разместите объект
плейлиста. Выровняйте его по ширине с дисплеем, а внизу
оставьте небольшую горизонтальную полоску, чтобы там могла
уместиться строка текста. С помощью синих прямоугольников
разного оттенка создайте небольшой дизайн плейлиста и уберите
эти прямоугольники вниз.
Теперь нам надо сделать, чтобы плейлист появлялся
при нажатии на кнопку Pl. Вот и
задайте в скрипте этой кнопки
команду SysCommand("ResizeWindow","0,350").
Запустите плеер, и вы увидите, что при нажатии на кнопку
Pl открывается плейлист.
А как же сворачивать плейлист обратно? Давайте
поступим очень просто. Скопируйте кнопку Pl и вставьте. Появится кнопка Pl1 на том же самом месте. Зайдите в ее
скрипт и переправьте цифру 350 на 75. А также добавьте в
скрипт обоих кнопок еще две строчки:
Invert("Pl") Invert("Pl1")
Кнопку Pl1 после
этого надо сделать скрытой. Догадались? При нажатии кнопки
Pl включается плейлист, сама
эта кнопка "прячется", а зато показывается ранее скрытая
кнопка Pl1. Которая умеет
производить прямо противоположные действия. Проверьте: теперь
ваш плейлист должен включаться и отключаться. От себя замечу,
что сейчас вы освоили весьма ценное свойство программы -
умение изменять размер окна (положение, кстати, тоже можно
изменять!).
Создайте текстовый объект Плейлист внизу
под плейлистом. Его мы будем использовать для вывода
информации о состоянии плейлиста. Для этого создадим скрипт
под названием Статус плейлиста (у нас уже был похожий
скрипт - Вывод заголовка):
NumItems =
CBK_NumInList if (NumItems=0) then items$ = 'Пусто -
нечего играть!' LoadText("Плейлист","items$") end if
(NumItems=1) then items$ = 'Всего песен - ' +
CHAR(NumItems) LoadText("Плейлист","items$") end if
(NumItems>1) then items$ = 'Всего песен - ' +
CHAR(NumItems) LoadText("Плейлист","items$") end
Надеюсь, вы уже достаточно поумнели, чтобы самим
разобраться в этом скрипте. Когда же этот скрипт должен
запускаться? Во-первых, сразу после открытия плеера.
Во-вторых, каждый раз при загрузке в него музыкальных файлов.
А значит, нам надо добавить строку
RunScript("Статус
плейлиста")
в скрипт при старте страницы (там уже есть запись
об изменении размеров окна) и в скрипт кнопки Open. Опять проверяем наш проект.
Запускаем, открываем плейлист и видим там сообщение "Пусто -
нечего играть". Загружаем файла и появляется надпись "Всего
песен - столько-то".
Внимательно погоняв наш плеер, можно заметить в
нем как минимум два недостатка, сразу бросающихся в глаза.
Первое - при нажатии кнопок Back
и Next хоть и
запускается следующая (предыдущая) песня, а вот в плейлисте
выделенная подсвеченная строчка не перескакивает вверх-вниз. А
хотелось бы. И второе - нельзя удалить выбранные песни из
плейлиста. Что тоже желательно. И то, и другое можно
исправить. Так что продолжение след... то есть читайте дальше
(если еще не устали :))!
Назад
Дальше
|