FLASH Player
FLASH
stop(); // останавливаем воспроизведение
// ставим ширину равной нулю (скрываем) индикаторы загрузки и позиции воспроизведения
progress_bar.flv_load._width = 0;
progress_bar.bar._width = 0;
pause_btn._visible = false; // скрываем кнопку пауза
//isPlaying - булева величина, которая показывает, идёт ли сейчас подгрузка видео
isPlaying = false;
link = '1.flv';// ссылка на видео файл для воспроизведения (flv)
// нажатие на кноку play/pause
p_btn.onRelease = function() {
if (!isPlaying) {// если подгрузка вижео ещё не начиналась
_root.nc = new NetConnection(); // экземпляр класса NetConnection
_root.nc.connect(null);
_root.my_ns = new NetStream(_root.nc);// экземляр класса NetStream
setPlayBtn(false); // скрываем кнопку play, показываем кнопку pause
// "прикрепляем" поток видео (класс NetStream) к видео-символу
myVideo.attachVideo(_root.my_ns);
_root.my_ns.play(link);
// при получении данных о длительности видео
_root.my_ns.onMetaData = function(infoObject:Object) {
totalTime = infoObject.duration;//сохраняем в отдельную переменную
};
// при завершении загрузки видео
_root.my_ns.onStatus = function(info) {
if (info.code == "NetStream.Play.Stop") {
isPlaying = false;
setPlayBtn(true);
progress_bar.bar._width = 0;
}
}
isPlaying = true; // значит, что видео начало подгружаться
} else // если видео уже грузится
if (pause_btn._visible) { // и если сейчас плеер не на паузе
// ставим видео на паузу
_root.my_ns.pause(true);
// запоминаем позицию воспроизведения
current = _root.my_ns.time;
// скрываем кнопку pause, показываем кнопку play
setPlayBtn(true);
} else { // если плеер на паузе
// перематываем видео на место, где остановились
current = _root.my_ns.time;
// и продолжаем воспроизведение
_root.my_ns.pause(false);
// скрываем кнопку play, показываем кнопку pause
setPlayBtn(false);
}
}
onEnterFrame = function() {
if (isPlaying) {
setBar();
}
//считаем проценты, меняем ширину полоски - индикатора загрузки видео во flash плеер
current = _root.my_ns.time;
total = _root.my_ns.bytesTotal; // "вес" видео в байтах
loaded = _root.my_ns.bytesLoaded; // количество загрженых байт
percent = (loaded/total); // соотношение полного веса к загруженой части
// в зависимости от загруженой части, меняем длину зелёной полоски - индикатора
progress_bar.flv_load._width = (percent * progress_bar.fon._width);
}
// setBar - функция, которая будет отображать прогресс вопроизведения видео в плеере
// при вызове позиция передаётся как процент (от 0 до 100)
function setBar(percent:Number) {
if (percent == undefined) percent = Math.floor(_root.my_ns.time/totalTime*100);
// меняем ширинц полоски-индикатора
progress_bar.bar._width = (percent/100 * progress_bar.fon._width);
}
// нажатие на полоску - индикатор загрузки
// именно на этот индикатор, чтобы нельзы было перепрыгвать на незагруженные участки
progress_bar.flv_load.onRelease = function() {
// вызов функции scrubbing, которая отвечает за перемотку на нужный моммент времени
scrubbing(Math.floor((progress_bar._xmouse*100)/progress_bar._width));
}
function scrubbing(p) { // функция для перемтоки видео
isEnd = false;
setPlayBtn(false);
_root.my_ns.seek(p*totalTime/100);
_root.my_ns.pause(false);
}
// функция, которая показывает/прячет кнопки play и pause
function setPlayBtn(b) {
play_btn._visible = b;
pause_btn._visible = !b;
}
// создаём обьект класса Sound, который будет охватывать все звуки в фильме
sound = new Sound();
// регулировка громкости
vol.onRelease = function() { // клик по индикатору громкости
vol.bar._width = vol._xmouse;// меняем ширину индикатора
// меняем громость звука
sound.setVolume(vol._xmouse/vol._width * 100);
}
Комментарии:
Нету комментариев для вывода...