Тема: pseudo streaming
Показать сообщение отдельно
Старый 20.01.2011, 20:14
Mighter вне форума Посмотреть профиль Отправить личное сообщение для Mighter Найти все сообщения от Mighter
  № 4  
Ответить с цитированием
Mighter
 
Аватар для Mighter

Регистрация: Jul 2009
Сообщений: 6
Код 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'], соответствующее найденной ранее точке. Формируем запрос на проигрывание потока, в качестве параметра указываем найденное значение.
__________________
Вера в себя есть смысл жизни (с) Оскар Де Ла Хойя