import fl.video.*;
var player:FLVPlayback = new FLVPlayback();
addChild(player);
player.skin = "someSkin.swf";
player.source = "http://someDomian/some.flv";
这是代码。我只是从服务器加载并播放一些flv,当我通过Flash测试它时(只需按ctrl + enter),视频将停在大约90%的视频并发送COMPLETE事件。谁知道为什么?再试一次,视频停止的时间是相同的,大约90%。 我搜索了它,我试图更改播放器的playheadUpdateInterval,明确设置totalTime,或者设置更长的bufferTime。所有这些解决方案都没有区别。 我试图从同一台服务器加载另一部电影,同样的问题。服务器有什么问题吗?
编辑: 我将swf发送给其他人,视频按照预期的方式播放。然后另一个人,同样的结果。所以,我猜我的设置有问题?是否有一些设置会导致这种奇怪的动作?但是当我在笔记本电脑上试用它时,视频意外停止了。为什么这似乎适用于除了我的每个人的计算机? :(帮助我!
CLOSE之前: 最终,我的同事发现,如果将发布设置更改为FP10& 10.1或FP9,它将按预期工作。 FP10.2及更高版本,该服务器上的视频似乎没有找到结局的天赋。视频是H.264 / AAC,如果我将它们转换为VP60 / MP3,所有FP版本都可以使用。由于我无法修改有关编解码器的设置,因此我只需更改发布设置并保持编解码器的功能。虽然我对此感到沮丧,如果你看到这个并且很幸运,你碰巧知道编解码器的事情,为什么会出现“早期完成”,请告诉我。
答案 0 :(得分:0)
问题可能在于.FLV文件,有时在将任何视频文件(AVI,MOV,MP4,3GP,WMV)编码为.FLV格式时可能会出现问题,从而导致跳过帧。尝试使用其他.FLV文件的代码,如果效果正常,则需要重新编码FLV文件。
您还可以通过跟踪视频播放进度来尝试捕获视频完成事件。
import fl.video.*;
var player:FLVPlayback = new FLVPlayback();
addChild(player);
player.skin = "someSkin.swf";
player.source = "http://someDomian/some.flv";
addEventListener(Event.ENTER_FRAME, enterFrameHandler);
function enterFrameHandler(event:Event):void {
if(player.playheadPercentage>=99)
{
//On Video Playback Complete Actions here
}
}