marat_
17.02.2011, 18:16
Привет всем!
Цель: загрузить в плеер видеопоток, из первого (или не очень) кадра сделать заставку.
Как решаем:
1) устанавливаем заполнение буфера до воспроизведения в 5 секунд, цепляем и запускаем поток.
Код вкратце:
_root.my_ns.setBufferTime(5);
myVideo.attachVideo(_root.my_ns);
_root.my_ns.play(link);
2) с каждым кадром проверяем - если в буфере уже есть 0.1 секунда видео, ставим на паузу воспроизведение (которое по идее еще не началось, т.к. нет 5 секунд в буфере), перематываем на начало и т.д.
Код:
onEnterFrame = function ():Void
{
var bufferPct:Number = _root.my_ns.bufferLength;
if (bufferPct > 0.1)
{
_root.my_ns.seek(0);
_root.my_ns.pause(true);
gotoAndStop(2);
delete this.onEnterFrame;
}
};
Проблема: заставка получается, но есть легкий дёрг - воспроизведение таки начинается раньше, чем его тормознули.
Что посоветуете?
Цель: загрузить в плеер видеопоток, из первого (или не очень) кадра сделать заставку.
Как решаем:
1) устанавливаем заполнение буфера до воспроизведения в 5 секунд, цепляем и запускаем поток.
Код вкратце:
_root.my_ns.setBufferTime(5);
myVideo.attachVideo(_root.my_ns);
_root.my_ns.play(link);
2) с каждым кадром проверяем - если в буфере уже есть 0.1 секунда видео, ставим на паузу воспроизведение (которое по идее еще не началось, т.к. нет 5 секунд в буфере), перематываем на начало и т.д.
Код:
onEnterFrame = function ():Void
{
var bufferPct:Number = _root.my_ns.bufferLength;
if (bufferPct > 0.1)
{
_root.my_ns.seek(0);
_root.my_ns.pause(true);
gotoAndStop(2);
delete this.onEnterFrame;
}
};
Проблема: заставка получается, но есть легкий дёрг - воспроизведение таки начинается раньше, чем его тормознули.
Что посоветуете?