我已经搜索这个有一段时间了,要么我的谷歌功能很弱,要么还没有容易找到答案......
我正在使用 NetStream 从任何地方传输视频文件。 NetStream 未连接到任何服务器。这是代码:
// 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 属性,但无济于事。 还要确保加载视频时不涉及缓存。我总是通过在网址后面添加一些“?bla=date”值来加载“新的”。
“真正的”流媒体是否可能仅在真正连接到服务器时才起作用?还是我还漏掉了其他东西?
最佳答案
它可能正在等待元数据 - .h264 视频肯定就是这种情况。我从来没有听说过它被修复了,所以,可能没有。如果这是您要尝试播放的文件,请使用 ffmpeg 之类的工具将元数据移动到文件的开头,但如果不是 - 您可以尝试使用 URLStream
自行流式传输,然后提供它通过 appendBytes()
到 NetStream
(后来我没有尝试,但理论上应该是可能的)。
关于flash - NetStream 仅在完全加载时播放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9210777/