Flash a3 - остановка в ключевой точке
У меня есть FLV VID и динамически установить точку метки
vid.addASCuePoint(1, "cuePoint1");
Как бы то ни было, это не всегда останавливается на одном и том же месте. Как я могу быть более точным? Я так понимаю, это связано с буферизацией и несколькими другими факторами?
import fl.video.*;
//etc etc
vid.addEventListener(fl.video.VideoEvent.READY, flvPlayback_ready);
vid.addEventListener(MetadataEvent.CUE_POINT, flvPlayback_cuePoint);
function flvPlayback_ready(evt:fl.video.VideoEvent):void {
vid.addASCuePoint(1, "cuePoint1");
vid.play();
}
function flvPlayback_cuePoint(evt:MetadataEvent):void {
vid.pause();
trace("CUE POINT!!!");
trace("\t", "name:", evt.info.name); // name: cuePoint1
trace("\t", "time:", evt.info.time); // time: 1
trace("\t", "type:", evt.info.type); // type: actionscript
}
2 ответа
Контрольные точки могут быть добавлены в видео двумя способами: 1) закодированы в собственное видео 2) добавлены с помощью actioncript
У меня нет ссылок на соответствующую документацию, но я имел дело с этой проблемой раньше. В материалах, которые я прочитал, говорится, что добавление ключевых точек с помощью ActionScript будет не таким точным, как их кодирование в видео.... и ваш код указывает, что именно так вы их добавляете...
Хотелось бы, чтобы у меня были для вас лучшие новости, но единственный способ узнать больше, который я знаю, это добавить ключевые точки во время кодирования.
Вероятно, это связано с количеством ключевых кадров, в которые был закодирован flv (я думаю, что по умолчанию это число равно 1 на 30 кадров при кодировании с MediaEncoder).
Попробуйте перекодировать flv и установить для параметра Key Frame Distance что-то меньшее (или даже встроить ключевой кадр с помощью Media Encoder вместо добавления его с помощью ActionScript).