【发布时间】:2014-07-15 18:33:45
【问题描述】:
我想在网页上播放 Flash 视频,但源文件 (*.flv) 在 webroot 之外。
为了能够访问这个源文件,我给了 flashvars 一个 php 文件参考。这个 php 文件将设置标题并返回正确的 flv 文件数据。我预计这会起作用,但它不起作用。
我的响应标头显示的内容类型值为:text/html,而如果我尝试直接播放视频文件,则标头是 video/x-flv。可能是什么问题以及解决它的任何方法都会很棒!
我的 HTML 源代码
<object id=0 type="video/x-flv" data=123.swf width=640 height=360>
<param name="movie" value=123.swf />
<param name="wmode" value="opaque" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="sameDomain" />
<param name="quality" value="high" />
<param name="menu" value="true" />
<param name="autoplay" value="false" />
<param name="autoload" value="false" />
<param name="FlashVars" value="flv=media.php" />
</object>
media.php 文件中的我的 PHP 数据 -
<?php
header("Content-Type: video/x-flv");
readfile("videos/vid1.flv");
?>
但是,当我单击要播放的视频时,响应标头的内容类型为 text/html。我想,这就是视频无法播放的根本原因。
有什么帮助吗?
【问题讨论】:
-
尝试删除拖尾
?>怀疑它会起作用,但值得一试。以防有尾随空格或任何东西。 -
我的回答对你有帮助吗?
-
如果你直接去你的 media.php 文件,你会看到什么?可能正在显示某种 PHP 错误/警告。
-
我收到以下错误 - 警告:session_start() [function.session-start]:无法发送会话缓存限制器 - 标头已发送。但是,正如乔南所说,我摆脱了空格并且它起作用了!谢谢!
标签: php html flash video flashvars