
Код AS3:
for (var i:int = 0; i < info['keyframes']['times'].length; i++)
{
if (videoStart < info['keyframes']['times'][i])
{
jumpTo = ((info['keyframes']['times'][i] - videoStart < videoStart - info['keyframes']['times'][i - 1]) ? info['keyframes']['filepositions'][i] : info['keyframes']['filepositions'][i - 1]);
i = info['keyframes']['filepositions'].length + 1;
}
}
stream.play(path + '?start=' + jumpTo);
Что происходит?
videoStart - некое значение времени в секундах на которое мы хотим перейти.
info - объект, приходящий в onMetaDataHandler, у Вас это metaInfo
Пробегаем по всему массиву времен, содержащемуся в метаданных, и находим точку, ближайшую к нашей.
Присваиваем переменной jumpTo значение из массива info['keyframes']['filepositions'], соответствующее найденной ранее точке. Формируем запрос на проигрывание потока, в качестве параметра указываем найденное значение.