如何在打开另一帧/页面时停止播放视频播放器

时间:2017-09-26 05:51:12

标签: actionscript-3 adobe flash-cs6 flashplayer-9

嗨,我是adobe flash player CS6动作脚本的新手。我的问题是当我点击另一个页面/帧时视频播放器继续播放。我使用XML加载视频。

这是我的代码片段

 stop();

import flash.net.URLLoader;
import flash.events.Event;

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,prevvid);
btn2.addEventListener(MouseEvent.CLICK,nextvid);

function xmlloaded(e:Event){
    xml=XML(e.target.data);
    amountofvid=xml.video.length()-1;
    changevid();
    }

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(currentvideo<0){

            currentvideo=cv=amountofvid;
            }
    vid.source=xml.video.@src[cv];
    }

loader.load(new URLRequest('video.xml'));

请帮忙,谢谢

2 个答案:

答案 0 :(得分:1)

抱歉把flash.media.SoundMixer.stopAll();这是一个非常糟糕的解决方案,因为它将杀死所有声音,我的解决方案是通过放置事件

vid.addEventListener(Event.REMOVED_FROM_STAGE, stopPlay);
function stopPlay(e:Event)
{
      vid.stop();
}

这个链接说明正确无误

https://forums.adobe.com/thread/773601

谢谢

答案 1 :(得分:-1)

解决方案我将此代码放在框架的开头

flash.media.SoundMixer.stopAll();