jse*_*ims 0 flash actionscript-3
这是我的用例:
我向用户展示一组小型播放视频.当用户点击其中一个小视频时,我会暂停所有小视频并加载点击的视频的更高比特率版本.
一切正常,除非它真的很慢,一些网络诊断表明问题是所有小视频继续加载,即使我在他们的网络上调用了pause().
要重新编写代码:
假设我有:
var nc:NetConnection = new NetConnection();
nc.connect (null);
var ns1:NetStream = new NetStream(nc);
var vid1:Video = new Video(WIDTH, HEIGHT);
vid1.attachNetStream(ns1);
ns1.play("video1.mp4");
stage.addChild(vid1);
Run Code Online (Sandbox Code Playgroud)
几秒钟后... vid1仍在加载,我想要做的是暂停vid1的视频流以及加载vid1的网络流量,以便下面的代码可以尽快运行
ns1.pause();
var ns2:NetStream = new NetStream(nc);
var vid2:Video = new Video(WIDTH, HEIGHT);
vid2.attachNetStream(ns2);
ns2.play("video2.mp4");
stage.addChild(vid2);
Run Code Online (Sandbox Code Playgroud)
...然后一段时间后用户解雇了vid2,所以我恢复了vid1的播放
ns1.resume();
Run Code Online (Sandbox Code Playgroud)
有没有办法告诉ns1停止读取它的套接字?如果我打电话ns1.close(),那么我无法恢复播放ns1.resume().
如果我需要使用流媒体协议,那么在加载所有小视频时握手的重量是多少?我正在尝试快速加载大量低比特率(50kbps)视频.
谢谢!
问题是电影继续加载,即使它们没有播放.您可以在YouTube上轻松查看:只需点击视频,然后点击暂停 - 进度条就会继续增长.
我相信没有其他方法可以阻止它,但是当它暂停时关闭每个NetStream.接受稍微延迟和/或跳转到下一个相邻的关键帧,您可以在最后一个位置继续播放电影,但:分配了流的视频对象应该仍然显示最后一帧,直到有新内容为止,或者video.clear()是调用,并且您可以使用ns.time重新连接后使用并返回到最后一个播放位置ns.seek ().