Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как остановить воспроизведение видео? (http://www.flasher.ru/forum/showthread.php?t=181895)

mheha 05.07.2012 14:32

как остановить воспроизведение видео?
 
если повесить на кнопку функцию остановка видео:
vid.stop();
остановка работает правильно, а как задать условие, типа: "если видео воспроизводится, то стоп"

если сделать так:
Код AS1/AS2:

if (vid.play)=true
{
vid.stop();
}

ошибка, флеш не работает :( , а если так:
Код AS3:

if (vid.play) {
vid.stop();
}

, то ошибка: Монтажный кадр 1, слой "bg", кадр 1, строка 22 Warning: 3553: Вместо ожидавшегося значения типа Boolean использовалось значение функции. Возможно, отсутствуют скобки () после ссылки на эту функцию.


код целиком:
Код AS3:

import flash.net.URLLoader;
import flash.events.Event;
import flash.net.URLRequest;
 
var loader:URLLoader = new URLLoader();
loader.addEventListener(Event.COMPLETE,xmlloaded);
 
var xml:XML = new XML();
var amountofvid:Number=0;
var currentvideo:Number=0;
 
btn1.addEventListener(MouseEvent.CLICK, nextvid);
btn2.addEventListener(MouseEvent.CLICK, prevvid);
btn3.addEventListener(MouseEvent.CLICK, stopvid);
 
function xmlloaded(e:Event){
        xml=XML(e.target.data);
        amountofvid=xml.video.length()-1;
        changevid();
}
function stopvid(e:Event){
vid.stop();
}
function nextvid(e:Event){
        currentvideo++;
        changevid();
}
 
function prevvid(e:Event){
        currentvideo--;
        changevid();
}
 
function changevid():void{
        var cv:Number=Math.abs(currentvideo);
 
        if (cv>amountofvid){
                currentvideo=cv=0
        }
        if (amountofvid<0){
                currentvideo=cv=amountofvid;
        }
        t_txt.text=xml.video.@title[cv];
        vid.source=xml.video.@src[cv];
}
 
loader.load(new URLRequest('videos.xml'));


dmitry bond 05.07.2012 15:08

Код AS3:

play()

это метод, его никак не получится использовать как свойство.
1) Зачем нужно проверять ?? Разницы по сути нет никакой, между
Код AS3:

.stop()

и проверкой, а потом остановкой.
2) Если вам это действительно важно, вы сами должны знать когда видео воспроизводится, а когда останавливается. Поэтому можно создать переменную
Код AS3:

var isPlay = false;

или true если воспроизведение автоматическое. И менять значение при каждой остановке или воспроизведении

mheha 05.07.2012 15:28

смысл в общем такой:
несколько страниц на сайте, на одной из них выполнен код описанный выше, уходим с этой страницы на другую и видео проигрывается, вот я и думаю как его остановить?

in4core 05.07.2012 15:59

Код AS3:

if(ExternalInterface.call('window.location') != 'firstPage') остнови


mheha 05.07.2012 17:15

Цитата:

Сообщение от in4core (Сообщение 1087445)
Код AS3:

if(ExternalInterface.call('window.location') != 'firstPage') остнови


неправильно я наверное выразился, страница одна, кнопок несколько текст страниц показывает TweenLite
сцена тоже одна, кадр один, нужна функция, которая проверяла бы если видео воспроизводится то остановить.
Просто если делать это без проверка типа:
Код AS3:

vid.stop();

то перестает работать Tween

Добавлено через 28 минут
исправился сам :)
короче так:
1) вначале объявляем переменную типа булеан isPlay присваиваем ей false
2) при нажатии на любую кнопку меню выполняем функцию:
Код AS3:

function stopVid():void{
if(isPlay)
{
vid.stop();
}
}

3) на всех кнопках говорим:
Код AS3:

isPlay=false();

обязательно после выполнения функции stopVid
4) на кнопке показа видео говорим:
Код AS3:

isPlay=true();

все ок!


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

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