|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Feb 2011
Сообщений: 3
|
Когда узнавать размеры видео у NetStream?
По какому событию можно точно узнать размеры (videoWidth и videoHeight) у Video если для загрузки используется NetStream? Есть ли решение для любого типа видео? Есть ли вообще решение на все случаи?
Заметил что размеры точно известны при NetStream.Play.Flush и NetStream.Buffer.Full (не всегда). Как я понимаю еще и при onMetaData, но мета данные не всегда есть. NetStream.Buffer.Full также иногда отсутствует либо же размеры еще не установлены. Корректно ли вообще использовать для этого самые первые NetStream.Play.Flush и NetStream.Buffer.Full? Видел еще решение в котором используется setTimeout, вроде как после NetStream.Play.Start, где идет рекурсивный вызов до тех пор пока videoWidth и videoHeight нулевые. Подскажите как быть? |
|
|||||
Modus ponens
|
Когда fps будет, тогда точно и размеры будут
А вообще... по-чесному - никак (кроме того, это не статическая величина, она может меняться в каждом кадре). А свойства, так они геттеры и показывают чесно то, что извесно в данный момент. Технически, вы бы могли загружать видео самостоятельно, парсить его (до размеров добраться в принципе не сложно), и потом скармливать его NetStream'у. Другой ворпос - на скролько это важно / критично, чтобы проводить практически исследовательскую работу. Если за это не платят - просто по таймеру, часто на сколько совесть позволяет
__________________
Hell is the possibility of sanity |
|
|||||
[+1 31.01.11]
Регистрация: Jun 2008
Сообщений: 91
|
wvxvw fps - это количество кадров в секунду ? или что вы имели введу ?
|
|
|||||
Modus ponens
|
http://help.adobe.com/en_US/FlashPla...tml#currentFPS
Но вообще это сарказм такой был... это свойство так же неизвесно, как и размер видео.
__________________
Hell is the possibility of sanity |
|
|||||
Регистрация: Feb 2011
Сообщений: 3
|
wvxvw, ну может быть и так. Но хотя бы должно было быть событие, когда загрузился заголовок и декодер смог получить информацию о медиа файле. И я говорю не о метаданных. Здесь же получается, что даже при первом NetStream.Buffer.Full у нас иногда могут быть еще не готовы данные, получаемые через эти геттеры/сеттеры. Хотя заполнение буфера предполагает, что заголовок медиа файла точно загружен.
Можно ли с уверенностью сказать что событие NetStream.Play.Start будет всегда? Пока сделал так: - По NetStream.Play.Flush/NetStream.Buffer.Full/onMetaData вызываю функцию в которой проверяю через флажок был ли я уже здесь и если да, то выход; - Далее - нулевые ли размеры, если да то сюда же по setTimeout; - Иначе считаю что идет инициализация в начале проигрывания. В конце функции выставляю упомянутый выше флаг, который сбрасываю при NetStream.Play.Stop. Здесь правда беспокоит этот setTimeout, вдруг произойдет ошибка и мы так и не получим размеры видео |
Часовой пояс GMT +4, время: 07:28. |
|
« Предыдущая тема | Следующая тема » |
Теги |
netstream , размер потокового видео |
|
|