AS2:FLVPlayback组件contentPath相对性

时间:2012-05-11 22:57:28

标签: flash actionscript-2 relative-path flvplayback

我有一个加载在XML文件中的站点,该文件告诉在哪里可以找到要加载到主SWF中的资产。图像和外部SWF正确加载,但由于某些原因FLV根本没有加载,除非contentPath是一个绝对路径,我不能为此项目。我也建立了相对于HTML页面的链接。

我的文件结构是这样的:

index.html - 主要加载程序文件

project / shared / published / section1 / loader.swf - 要加载的主要SWF

project / english / images / videos / welcome.flv - 要加载的电影。

FLVPlayback contentPath的路径是否可能相对于SWF而不是HTML页面?任何帮助将不胜感激。

加载视频的网页代码

导入mx.video。*;

import mx.video.*;
playback1.contentPath = getNodeValue(findNode(videos, "one"));

// Assign the mySeekBar instance to the flvPlayback instance
playback1.playPauseButton = playpause;
playback1.backButton = myrewind;
playback1.seekBar = seekbar_container.myseek;
playback1.bufferingBar = mybuffer;

2 个答案:

答案 0 :(得分:1)

希望这会对你有所帮助。我创建了一个测试,这就是我所拥有的:

文件夹设置:

flash / application / - loader.swf和index.html

flash / movies / - movie.flv

我使用的路径是 - ../ movies / movie.flv

代码示例是:

/**
  Requires:
   - FLVPlayback component on the Stage with an instance name of my_FLVPlybk
*/
import mx.video.*;
my_FLVPlybk.contentPath = "../movies/movie.flv";
var listenerObject:Object = new Object();
listenerObject.metadataReceived = function(eventObject:Object):Void {
    my_FLVPlybk.setSize(my_FLVPlybk.preferredWidth, my_FLVPlybk.preferredHeight);
}
my_FLVPlybk.addEventListener("metadataReceived", listenerObject);

我将它上传到我的localhost,它运行正常。

我还通过将应用程序文件夹外的索引移动到flash文件夹来测试它,这表明FLV确实相对于swf而不是html。

答案 1 :(得分:0)

FLV文件的路径是相对于.swf文件的。

其他文件的路径是相对于.html文件。

不仅在组件中,而且在一般情况下。