我正在尝试在我的HTML页面上嵌入一个SWF视频播放器,它引用同一文件夹中的XML文件和FLV文件。 SWF本身就是4个目录。 4个目录是可变的并且不断变化(例如:英语,第1章,第1级,第1章可以是英语,第3章,第2级,第12章),我们不希望拥有这个SWF的百分之一,所以我们是叫它。代码是:
<param name="movie" value="../../../../videoplayer.swf" />
在当前系统中,我们在此文件夹中包含XML,HTML和FLV,并且只返回SWF 4目录。
使用我们的MP3播放器,它的工作方式相同,MP3放在文件夹中(第1章,所以目录4),一旦在XML中引用,就可以正常播放。
但是,对于视频播放器,FLV位于文件夹中,并且一旦在XML中引用,就不会播放。只有FLV被放回4个目录后,它才能工作的SWF旁边。为了使我们的系统正常工作,我们需要FLV与MP3,XML和HTML位于同一目录中。这可能不使用Flash Var吗?
文件夹层次结构:
玩家(swf位于此处) - 英语 - 1级 - 第1章 - 你好(XML,HTML,MP3,FLV位于这里)。
在hello的HTML页面中,SWF显示,读取XML(如dtf_text中显示的文本),但FLV无法播放,并且在放置在SWF旁边4级之前无法定位。我需要SWF才能意识到,实际上,FLV与XML文件位于同一位置,而不是SWF的位置(出于某种原因,我的MP3播放器就是这样,使用声音/声道)。
以下是Videoplayer的代码:
var xmlLoader:URLLoader = new URLLoader();
var xmlData:XML = new XML();
var _loaders: Array = new Array();
var videoLoc:String;
var xmlPath:String;
xmlPath = ("video.xml");
xmlLoader.addEventListener(Event.COMPLETE, LoadXML);
xmlLoader.load(new URLRequest(xmlPath));
function LoadXML(e:Event):void
{
xmlData = new XML(e.target.data);
var pullsound:XMLList = xmlData.Sound;
for each (var soundElement:XML in pullsound)
{
var _wrkloader:Loader = new Loader
_loaders.push(_wrkloader);
}
videoLoc = xmlData.Sound.sndsrc[0];
playVideo()
}
function playVideo()
{
trace(videoLoc)
dtf_text.text = videoLoc
mc_video.source = videoLoc
}