0

我的自定义电影播放器​​使用以下代码播放视频。剪辑开始播放需要很长时间,但一旦播放,您可以直接跳到结尾。我有一种感觉,在缓冲区和预加载如何工作方面我缺少一些知识。有人可以按正确的方向发送我吗?

private function init(e:Event = null):void {
    connection = new NetConnection();
    connection.addEventListener(NetStatusEvent.NET_STATUS, doNetStatus);
    connection.addEventListener(IOErrorEvent.IO_ERROR, doIOError);
    connection.addEventListener(SecurityErrorEvent.SECURITY_ERROR, doSecurityError);
    connection.connect(null);
    stream = new NetStream(connection);
    stream.addEventListener(AsyncErrorEvent.ASYNC_ERROR, doAsyncError);
    stream.addEventListener(NetStatusEvent.NET_STATUS, doNetStatus);
    stream.addEventListener(IOErrorEvent.IO_ERROR, doIOError);
    stream.client = this;
    video = new Video(1024, 576);
    mc = new MovieClip();
    mc.addChild(video);
    stage.addChild(mc);
    mc.addEventListener(MouseEvent.CLICK, onClick);
    video.attachNetStream(stream);
    stream.bufferTime = 5;
    stream.receiveAudio(true);
    stream.receiveVideo(true);
    stream.play(SITEURL + vidID +".mp4");
}

您可以在此处查看播放器的运行情况:http: //joon.be/serve/ngjd_player.swf

4

2 回答 2

0

显然视频没有流式传输,因为我需要在它们上运行 QT FastStart。这解决了问题,netstream 现在按预期运行。

于 2012-08-13T11:38:19.263 回答
0

您可以下载qt-faststart.exe然后在管理员命令 promt 中运行:

qt-faststart.exe "source.mp4" "fixed.mp4"

10 分钟长的视频大约需要 15-30 秒。学分:https ://articulate.com/support/article/mp4-movie-doesnt-begin-playing-until-it-has-fully-downloaded

我还尝试了这个免费的开源转换器 HandBrake 并Web Optimized选中。(花了 10 分钟来转换)

于 2017-02-16T12:04:16.870 回答