Вот мой пример использования:
Я представляю пользователю набор небольших воспроизводимых видео. Когда пользователь нажимает на одно из небольших видео, я приостанавливаю все маленькие и загружаю версию клипа с более высокой скоростью передачи.
Это все работает нормально, за исключением того, что это действительно медленно, и некоторые сетевые диагностики предполагают, что проблема заключается в том, что все небольшие видео продолжают загружаться, хотя я вызывал pause () для их netstreams.
Перефразировать в коде:
Предположим, у меня есть:
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);
проходит несколько секунд ... 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);
... и через некоторое время пользователь отклонил vid2, поэтому я возобновляю воспроизведение vid1
ns1.resume();
Есть ли какой-нибудь способ сказать ns1, чтобы он прекратил чтение его сокета? Если я позвоню ns1.close()
, я не смогу возобновить воспроизведение с ns1.resume()
.
Если мне нужно использовать потоковый протокол, насколько тяжелым будет рукопожатие при загрузке всех небольших видео? Я пытаюсь быстро загрузить много видео с низким битрейтом (50 Кбит / с).
Спасибо!