Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   скрипт баннера с потоковым видео (http://www.flasher.ru/forum/showthread.php?t=193298)

falencer 25.01.2013 12:03

скрипт баннера с потоковым видео
 
Добрый день! У меня проблема и вопрос. Я работаю видеодизайнером в Видео интернешл, и обычно работаем с роликами, но недавно начали размещать банера на мейле, обычные баннера научился анимировать, а тут появился банер с потоковым видео без флеша, только видео. И вместе с ним мейл просит файлик со скриптом в котором прописаны функции, они прислали пример банера со всеми исходниками, но он с флешом и с кнопкой которая запускает видео по инициативе пользователя, а нужно наоборот видео должно быть с автостартом и без звука.
погуглив, я понял есть 2 команды это autostart = true(false) и аналогично mute, только куда их "запихнуть" я не знаю, вот код скрипта с эталонным кодом....Что необходимо изменить в скрипте? Кто нибудь может помочь?
Код AS1/AS2:

var firstPress = true;
var nc:NetConnection = new NetConnection();
nc.connect(null);
var nStream:NetStream = new NetStream(nc);
videoObj.attachVideo(nStream);
var snd:Sound = new Sound();
this.createEmptyMovieClip("snd_mc", getNextHighestDepth());
snd_mc.attachAudio(nStream);
nStream.setBufferTime(3);
ControlPanelVisible();
preloader._visible = false;
 
mc._play.onPress = pressPlay;
mc._pause.onPress = pressPause;
mc._sound_on.onPress = pressSoundOn;
mc._sound_off.onPress = pressSoundOff;
mc_link.onRelease = linkUrl;
this.onEnterFrame = enterFrame;
nStream.onStatus = statusVideo;
 
function statusVideo(status:Object){
 
if( status.code == "NetStream.Play.Stop" )
nStream.play(_root.video1);
 
}
 
function enterFrame(){
 
if ( nStream.bytesLoaded > 0 ){
preloader._visible = false;
this.onEnterFrame = null;
}
 
}
function linkUrl(){
 
getURL(_root.link1, "_blank");
 
}
function pressPlay(){
 
if (firstPress){
preloader._visible = true;
nStream.play(_root.video1);
firstPress = false;
}
nStream.pause(false);
mc._play._visible = false;
mc._pause._visible = true;
 
}
function pressPause(){
 
nStream.pause(true);
mc._pause._visible = false;
mc._play._visible = true;
 
}
function pressSoundOn(){
 
snd.setVolume(0);
mc._sound_on._visible = false;
mc._sound_off._visible = true;
 
}
function pressSoundOff(){
 
snd.setVolume(100);
mc._sound_off._visible = false;
mc._sound_on._visible = true;
 
}
function ControlPanelVisible(){
 
mc._play._visible = true;
mc._pause._visible = false;
mc._sound_on._visible = true;
mc._sound_off._visible = false;
 
}


Котяра 25.01.2013 14:34

Цитата:

но он с флешом и с кнопкой которая запускает видео по инициативе пользователя, а нужно наоборот видео должно быть с автостартом и без звука.
Эти требования не зря.
Банеры с автозапуском потокового видео просто не пропустят модераторы.

falencer 25.01.2013 14:41

цитаты из требований мейла на оф сайте и собственно ссылка на страницу http://corp.mail.ru/adv/tech.htm#a4
"Требования к видео-баннерам с автостартом
1.Требования по формату, размеру подгружаемого видео и методу подключения такие же как у обычного видео-баннеров без автостарта.


2.Видео начинается автостартом без звука, звук (если есть) включается по инициативе пользователя.


3.Пользователь должен иметь возможность остановить/возобновить показ видео, а также включить/выключить звук.


4.Видео с автостартом не может быть размещено в фулскрине и баннере-перетяжке"
все ещё жду помощи.

dark256 25.01.2013 16:26

Так а в чем вопрос-то?
Как юзеру запустить видео никуда не кликая?

Код AS1/AS2:

function pressPlay(){
 
if (firstPress){
preloader._visible = true;
nStream.play(_root.video1);
firstPress = false;
}
 
pressPlay()

Вот он и запустится сразу... Вызов функции пропишите прямо в коде а не на клик вешайте...

falencer 25.01.2013 16:36

Цитата:

Сообщение от dark256 (Сообщение 1117741)
Код AS1/AS2:

function pressPlay(){
 
if (firstPress){
preloader._visible = true;
nStream.play(_root.video1);
firstPress = false;
}
 
pressPlay()

Вот он и запустится сразу... Вызов функции пропишите прямо в коде а не на клик вешайте...

Вот это функцию в какое место? место это же функции польностью?
Пожалуйста ткните пальцем куда, я не шарю в программировании,
юзер и недолжен нажимать, а как только произошла загрузка страницы, видео автостартом запускается и по умолчанию звук выключен

mooncar 25.01.2013 16:40

falencer, на форуме не пренебрегают грамматикой: предложения начинаются с больших букв.

dark256 26.01.2013 12:29

Код:

вот это функцию в какое место?
ТУда же, где и весь код примера.
После него. В конце.

falencer 29.01.2013 15:32

Цитата:

Сообщение от dark256 (Сообщение 1117883)
Код:

вот это функцию в какое место?
ТУда же, где и весь код примера.
После него. В конце.

Примного Благодарен!!!!Все работает, все приняли, огромное спасибо.
п.с. единственное добавил в конец
Код AS1/AS2:

pressSoundOn()

что б звук был выключен

Civil 21.11.2014 17:37

Здравствуйте! Подскажите как включить автостарт видео в этом плеере.

Код AS1/AS2:

stop(); // останавливаем воспроизведение
 
// ставим ширину равной нулю (скрываем) индикаторы загрузки и позиции воспроизведения
progress_bar.flv_load._width = 0;
progress_bar.bar._width = 0;
pause_btn._visible = false; // скрываем кнопку пауза
//isPlaying - булева величина, которая показывает, идёт ли сейчас подгрузка видео
isPlaying = false;
 
link = ("http://www.###.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);
}



Часовой пояс GMT +4, время: 19:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.