![]() |
универсальный плеер. Как определить аудио или видео?
Привет. Меня попросили сделать универсальный плеер для сайта. Т.е. чтобы в зависимости от преданных параметров проигрывал аудио/видео поток с сайта.
Проблема вот в чем. Для проигрывания видео используется NetStream. Для проигрывания аудио - Sound. Принимает плеер линк на проигрываемый файл через FlashVars. Как определить что для линка использовать - NetStream или Sound? |
а вторую переменную не передать? ну это самый простой способ
|
ну передать еще одну переменную с flashvars самый очевидный способ. Но, как-то некрасиво =/
|
а ссылка какого вида должна быть?
|
по расширению файла неполучится определить, т.к. ссылки вида http://80.245.117.94:4234/ , т.е. на аудио или видео поток.
Вообще вот смотрю rutube. И у них даже если аудиозапись - передается ссылка на flv-файл. Например http://rutube.ru/tracks/709969.html?...1d4edea3c5fb8b - это всем известное "не единого разрыва". А плееру передается "...&file=http%3A%2F%2Fbl.rutube.ru%2F1fc26a9ba9cb36133d1d4edea3c5fb8b.iflv..." |
ну есть у меня догадка что можно по байтикам разобраться, но это так пальцем в нЁбо
|
По умолчанию ловите поток с помощью Sound, если ошибка всплывает то значит там видео :)))) Это такая автоматическая оценка контента потока :))) Недокументированная.
А по байтикам было бы легко разобраться. Только ни в Sound ни в NetStream байтики недоступны на fp9 О придумал! Можно воспользоваться классом URLStream. Считываем первые 3 байта потока и глядим что там. Как известно, заголовок flv файла начинается с FLV: Field | Type | Comment Signature | UI8 | Signature byte always 'F' (0x46) Signature | UI8 | Signature byte always 'L' (0x4C) Signature | UI8 | Signature byte always 'V' (0x56) |
| Часовой пояс GMT +4, время: 17:24. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.