首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NetStream仅在完全加载时播放

NetStream仅在完全加载时播放
EN

Stack Overflow用户
提问于 2012-02-09 20:24:15
回答 3查看 2.1K关注 0票数 2

我已经寻找了一段时间了,要么是我的google-fu太弱了,要么就是还没有简单的答案……

我正在使用NetStream从任何地方流式传输视频文件。NetStream未连接到任何服务器。代码如下:

代码语言:javascript
复制
            // Create new connection and stream
            _netCon = new NetConnection();
            _netCon.connect(null);

            _netStream = new NetStream(_netCon);
            _netStream.client = this;
            _netStream.play(url);

            // Configure video layer
            _videoLayer.attachNetStream(null);
            _videoLayer.attachNetStream(_netStream);
            _videoLayer.width = stage.stageWidth;
            _videoLayer.height = stage.stageHeight;

当然,这基本上是可行的,但视频总是只有在完全加载时才开始播放。只有这样,它才会传递元数据。但使用NetStream的主要原因是,您可以在视频完全加载之前播放视频。

我尝试使用bufferTime属性,但无济于事。还确保在加载视频时不涉及缓存。我总是通过在url后面添加一些"?bla=date“值来加载一个”新的“。

有没有可能“真正的”流只有在真正连接到服务器时才能工作?或者我还漏掉了什么?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-03-07 19:21:58

要弄清楚,请执行以下操作:

问题确实存在于我们的视频文件中的元数据的位置。我们暂时没有解决这个问题,因为我们有更重要的问题。但我们将回到这一点,将元数据位置移动到视频文件的开头。

谢谢你的帮助!

票数 0
EN

Stack Overflow用户

发布于 2012-02-09 21:50:45

它可能在等待元数据-这肯定是.h264视频的情况。我从来没听说过它被修好了,所以,很可能不是。如果这就是你想要播放的文件,使用类似于ffmpeg的东西来将元数据移动到文件的开头,但如果不是这样,你可以尝试自己使用URLStream流式播放,然后通过appendBytes()将其提供给NetStream (后者我没有尝试过,但理论上应该是可行的)。

票数 2
EN

Stack Overflow用户

发布于 2012-02-09 21:22:23

Flash在FLV中支持的设置非常自由,但我不确定它是否为100%。至于netConnection,这是非常标准的,除非你支持流媒体视频。您只是在寻找一种可以缓冲,然后立即播放视频的播放解决方案,而不是等待加载整个FLV。这也是netstream对象最基本的操作。不看你的完整代码,我可以告诉你,NetStream是非常错误和特殊的。也许你做的每件事都是正确的,但顺序稍有错误。或者,您可能正在侦听不存在的事件,因为NetStream使用回调。

这是我写的两篇博客文章,深入探讨了NetStream和视频问题,以及我上次为解决它们所做的事情。它们可能会为您的设置误入歧途提供一些线索。

NetStream Sucks

Streaming Video Player

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9210777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档