日期:2014-05-17  浏览次数:21219 次

[asp]-flash播放器不能加载视频文件
播放器和视频文件都是放在www/video/目录(虚拟空间)下的,index.asp放在www目录下
index.asp中相关部分的代码如下:
<div>
  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="290" height="211">
  <param name="movie" value="/video/Flvplayer.swf" />
  <param name="quality" value="high" />
  <param name="allowFullScreen" value="true" />
  <param name="FlashVars" value="vcastr_file=../video/1.flv&BufferTime=3" />
  </object>
</div>

在127.0.0.1上是正常的,发到虚拟空间后,播放器还是能加载的,但是不能播放,

请问是不是FlashVars的路径弄错了呢? 高手帮我改一下哈,谢谢!

------解决方案--------------------
很有可能是 路径错了,呵呵
自己 多改几次看看
------解决方案--------------------
这里标红的错了:
<param name="FlashVars" value="vcastr_file=../video/1.flv&BufferTime=3" />

改成:
<param name="FlashVars" value="vcastr_file=/video/1.flv&BufferTime=3" />
或者<param name="FlashVars" value="vcastr_file='video/1.flv&BufferTime=3'" />

------解决方案--------------------
FlashVars 实际上就是参数 a=b&c=d 这个格式

你可以直接用 video/Flvplayer.swf?vcastr_file=../video/1.flv&BufferTime=3
打开测试下看看.


ps: vcastr_file=/video/1.flv 或 vcastr_file=1.flv

------解决方案--------------------
虚拟空间 ../video/1.flv 这个文件是否存在呢
------解决方案--------------------
没错,我就是说你在虚拟空间上不能这么写:../video

因为你当前在WWW,你这样写,难道还能让你访问虚拟空间上非你所控制的目录吗??这是安全机制绝对不允许的.
最早期的一些黑客就是利用这个BUG,../.../.../一直能访问所有目录.但这个BUG早早就被发现并禁止了.

而且,你这么用,路径也不对,如果是可以访问的话,你这样写,调用的媒体文件是和WWW同级的video目录,而不是WWW下的video目录.

加引号的形式,对于你这个情况的确是不对的.不用引号就是.

既然<param name="FlashVars" value="vcastr_file=/video/1.flv&BufferTime=3" />也不行,
那就是这个了:<param name="FlashVars" value="vcastr_file=1.flv&BufferTime=3" />
把../video/都去掉.或者:
<param name="FlashVars" value="./vcastr_file=1.flv&BufferTime=3" />

------解决方案--------------------
探讨
已经上传到虚拟空间了

引用:

虚拟空间 ../video/1.flv 这个文件是否存在呢

------解决方案--------------------
你在空间上的index.asp文件右键下看看文件路径

还有 那个空间是否允许你播放这个文件
------解决方案--------------------
不能用fla文件,要用swf文件才可以。
------解决方案--------------------
<param name="FlashVars" value="vcastr_file=../video/1.flv&BufferTime=3" />

看清楚了啊,你要播放的是1.flv
那么首先要看你的虚拟空间的MIME里是否有支持flv文件的,如果没有那么是不能播放的
你本地能播放是因为你本地已经设置了flv的MIME类型
------解决方案--------------------
探讨
<param name="FlashVars" value="vcastr_file=../video/1.flv&amp;BufferTime=3" />

看清楚了啊,你要播放的是1.flv
那么首先要看你的虚拟空间的MIME里是否有支持flv文件的,如果没有那么是不能播放的
你本地能播放是因为你本地已经设置了flv的MIME类型