0

嗨,我有一个 php 页面,它将一些变量回显到视频播放器 swf 文件的 flashvars 中,flashvar "vid_file_name" 已加载并播放

但由于某种原因,当我硬编码到 php 页面或 fla 文件时,seekbar 无法正常工作
,但在 php 页面中回显时它会失败

这似乎不是编码问题

我在 swf 文件中放置了一个文本字段,并显示文件名并如前所述,“vid_file_name”变量被导入并播放视频,它只是在搜索条码时:

 import fl.video.*;


// Set Variables

var flvControl:FLVPlayback = auditionVid;
var flashVars = this.loaderInfo.parameters;
var flvSource:String = "http://www.mysite.co.uk/uploads/live/"+String(flashVars.vid_file_name);
var pageURL:String=ExternalInterface.call('window.document.location.toString');
var baseURL:String ="http://www.mysite.co.uk/";
var pageToGoTo:URLRequest;
gotoPageBtn.visible = false;
gotoPageBtn.addEventListener(MouseEvent.CLICK,pageHandler)
gotoPageBtn.buttonMode = true;
function pageHandler(evt:MouseEvent):void{
     pageToGoTo =  new URLRequest(baseURL+"audition.php?user_id="+flashVars.user_id+"&vid_id="+flashVars.vid_id+"&vid_file_name="+flashVars.vid_file_name);
    navigateToURL(pageToGoTo, "_self");

} if(pageURL==baseURL||pageURL.indexOf(".co.uk/index.php") > -1 ){ gotoPageBtn.visible = true }

function readyHandler(event:VideoEvent):void

{

// flvControl.play() flvControl.autoPlay = false;

}

flvControl.addEventListener(VideoEvent.READY, readyHandler);

flvControl.source = flvSource;
flvControl.bufferTime = Number(10);
flvControl.playPauseButton = playpausebtn; 
flvControl.muteButton = mutebtn; 
flvControl.seekBar = mySeekBar;

有没有人有任何想法?

4

1 回答 1

0

大家好,我想我会回答我自己的问题,以防其他人遇到这个问题。经过进一步测试,我发现是文件而不是数据出错了 seekbar 组件需要来自 flv 的元数据才能工作

我正在使用 ffmpeg 在上传时通过执行以下命令将文件转换为 flv: exec('/usr/local/bin/ffmpeg -i '.$uploadFile.' -f flv '.$new_flv.'');

这还不够,我需要使用一个叫做 flvtool2 的东西

我将命令相应地更改为: exec('/usr/local/bin/ffmpeg -i '.$uploadFile.' -f flv - | flvtool2 -U stdin '.$new_flv.'');

注意“ - | flvtool2 -U stdin ”这到目前为止已经解决了这个问题

奇怪的是,原来的命令一开始就起作用了!

我只是希望这可以帮助别人

再次感谢 JornC

于 2011-03-15T15:07:17.847 回答