0

我有一个加载 XML 文件的网站,该文件告诉在哪里可以找到要加载到主 SWF 中的资产。图像和外部 SWF 可以正确加载,但由于某种原因,除非 contentPath 是绝对路径,否则 FLV 根本不会加载,而我不能在这个项目中拥有它。我也制作了相对于 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;
4

2 回答 2

1

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

文件夹设置:

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

闪光/电影/-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);

我把它上传到我的本地主机,它工作正常。

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

于 2012-05-14T11:08:24.177 回答
0

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

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

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

于 2012-05-14T11:12:47.043 回答