2017-09-26 150 views
0

嗨,我是新的Adobe Flash播放器CS6行动脚本。我的问题是当我点击另一个页面/框架的视频播放器继续播放。我使用XML来加载视频。如何阻止flv视频播放器播放时打开另一帧/页

这是我的代码片段

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; 
      } 
    [email protected][cv]; 
    } 

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

请任何帮助,谢谢

+1

XML加载程序是**完全**不相关。你根本就不应该提到它。你脚本中唯一有用的行是** vid.source = ... **你应该去官方的Adobe文档(http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/),找到您正在使用的视频播放类** vid **,并设法调用以停止它。至于Adobe开发人员通常都是理智的,该方法将被称为**停止**或可能**暂停**。 – Organis

+0

嗨,谢谢你,刚刚得到解决方案。我把这个 flash.media.SoundMixer.stopAll(); 并停止播放视频 – gogocoder

+1

这是解决方案的钉腿。该命令会停止所有当前正在播放的声音通道,但并不会真正停止从显示列表中分离出来的视频,而是继续播放您无法看到的视频。 – Organis

回答

-1

解决方案,我把这个代码框架

flash.media.SoundMixer.stopAll(); 
1

对不起把flash.media.SoundMixer的开始.stopAll();这是非常糟糕的解决方案,因为它会杀死所有的声音,我的解决办法是把事件

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

这工作正确的,因为这个环节的解释

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

谢谢