Clubrus - это адаптация Инета под простого российского пользователя!

Реклама в Интернет & Все кулички
Добро пожаловать !
Добавить в избранное







 

Урок 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 хоть и запускается следующая (предыдущая) песня, а вот в плейлисте выделенная подсвеченная строчка не перескакивает вверх-вниз. А хотелось бы. И второе - нельзя удалить выбранные песни из плейлиста. Что тоже желательно. И то, и другое можно исправить. Так что продолжение след... то есть читайте дальше (если еще не устали :))!

Назад          Дальше



 URL: http://clubrus.kulichki.net E-mail: Clubrus 





Новая версия этого сайта CLUBRUS.SU



Рейтинг ресурсов УралWeb Rambler's Top100