|

TIPS OF FLASH: - MP3 плеер в одну строку
Iv (dembicki@narod.ru)
Спецвыпуск Xakep, номер #029, стр. 029-112-2
var mc = _root.attachMovie("play_box_mc", "play_box_mc", 0);
mc.total = i-1;
mc._x = 100;
mc._y = 100;
mc.showString();
}
} else {
trace("error opening URL");
}
};
TIPS 5. Определяем длительность звучания
Для того чтобы с секундомером в руках не вычислять длительность звучания песенок, мы функцией выведем эти значения в окно Output. Принцип таков: грузим все песенки по принципу эстафетной палочки: как только загрузилась одна, получаем данные о ее продолжительности и тут же грузим следующую. И так - пока не доберемся до конца описания.
_root.getDurations = function() {
_root.nod = _root.input_xml[++_root.id];
if (_root.nod == undefined) {
delete _root.id;
delete _root.nod;
delete _root.test_sound;
_root.duration_mc.removeMovieClip();
return;
}
delete _root.test_sound;
var mc = _root.createEmptyMovieClip("duration_mc", 50);
mc.test_sound = new Sound();
mc.test_sound.loadSound("music/"+_root.nod.attributes.url, false);
mc.onEnterFrame = function() {
var l = this.test_sound.getBytesLoaded();
var t = this.test_sound.getBytesTotal();
if (l/t == 1) {
trace("\rfile:\t\t"+_root.nod.attributes.url);
trace("duration:\t"+this.test_sound.duration);
_root.getDurations();
}
};
};
Как создашь XML описание, эту функцию нужно закомментировать, и компилировать окончательный вариант без нее. Можно закомментировать и те строки, которые осуществляют вызов этой функции.
TIPS 6. Интерфейс проигрывателя
Cразу после парсинга XML строкой var mc = _root.attachMovie("play_box_mc", "play_box_mc", 0); мы аттачим мувик "play_box_mc" из библиотеки. Создай пустой мувик, задай ему это имя и этот же linkage name. В этом мувике мы сделаем все кнопки и текстовое поле для отображения инфы о файле.
Нарисуй кнопки управления. Вид твоих кнопок должен, соответственно, символизировать:
1. кнопка Play
2. кнопка Stop
3. ползунок Volume
4. кнопка Info
5. две кнопки перелистывания
Шестой элемент - текстовое поле.
Все кнопки в четвертом (Hit) кадре содержат квадрат 16x16, исключение - кнопки перелистывания в текстовом поле. Соответственно их тип - button (за исключением ползунка). Имена экземпляров слева направо: play_butt, stop_butt, volume_butt, ползунок к volume_butt - control_mc, info_butt, up_butt и down_butt и текстовое поле string_txt без имени переменной. Это все объекты, которые необходимо предварительно создать.
TIPS 7. Кодинг
Задавать скрипты мы будем в том же порядке, что и их расположение на сцене. Все скрипты будем писать в отдельном верхнем слое первого кадра мувиклипа, который содержит все эти объекты, - play_box_mc.
Важный момент: к объектам и переменным в мувиклипе, содержащем кнопки, из этих кнопок можно обращаться двумя способами: первый - с использованием this. This будет явно указывать на кнопку, и тогда объекты в мувиклипе будут доступны по пути this._parent; второй способ - без указания this объекта, тогда объекты проигрыватель будет искать по местонахождению скрипта.
В большинстве случаев я пошел по второму пути - так короче.
Вначале изменим стандартное время предзагрузки звукового файла до 20 секунд. С учетом средней скорости наших сетей это полезно.
Назад на стр. 029-112-1 Содержание Вперед на стр. 029-112-3
|