![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2009
Сообщений: 7
|
Здравствуйте.
Прошу совета у профессионалов на этом форуме. Тема AS3. Имеем: stream поток (онлайн музыка - но это не принципиально). Необходимо: из этого stream потока в реальном времени искать по регулярному выражению кусочек текста (представлен в человеческом виде) Т.е. подробнее... Загружаю stream поток и ищу в нем теловекоосмысленный кусочек текста среди абракадабры в РЕАЛЬНОМ времени. Этот кусочек текста через некоторое время снова появляется (этот кусочек текста и есть название начинающейся играть музыки). Так вот, как реализовать в stream потоке поиск этого текста по заданной регулярке (саму регулярку составил, вопрос не в регулярке), причем поиск должен быть постоянным от старта до закрытия флешки! Приведу пример куска stream потока аудио, который получает флешка. Вам станет понятно о чем идет речь: Цитата:
![]() Добавлено через 56 секунд Буду очень благодарен если вы приведете кусочек кода на AS3, который это реализует, остальное сам додумаю! |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 7
|
Да, я пытался их прочитать с помощью id3, но это не id3 tags, они стандартным sound.id3 не читаются из аудио потока. Это icy сервер посылает такой тег посреди потока
|
|
|||||
|
Modus ponens
|
String.fromCharCode() вам в помощь, ну, это если текст латиницей, а если нет - то для юникодов можно попробывать искать BOM, но если и этого нет, и текст в какой-нибудь ANSI кодировке, но не латиницей - тогда никак.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: May 2009
Сообщений: 63
|
Этот код выведет "xxx" и "yyy" из подстроки "StreamTitle='xxx @ yyy'", если она конечно в вашем "аудиопотоке" содержится:
Цитата:
__________________
Все не так просто, как кажется... все гораздо проще... |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 7
|
Цитата:
Цитата:
wvxvw, это вообще не то. Аллиас, это вы привели код поиска по regexp в статичной строке, и еще, регулярки меня не интересуют Мне нужна помощь с точки зрения технической реализации поиска строки в непрерывном потоке. Представим этот поток как поток разных символов. Как реализовать поиск в нем, непрерывно, динамически?! Он же реалтайм, а не просто статичная неизменная строка символов!... я просто пока не додумался, да и в AS3 я не силен особо, только вот изучил, пытаюсь, пробую, и сразу такая задача... ппц. |
|
|||||
|
Modus ponens
|
Нету в AS3 непрерывного потока - все, что вы будете получать - это событие DATA либо в сокете либо в URLStream из которого сможете получить данные определенной длины. проблема в том, что ваша искомая подстрока может оказаться разбитой на части - для этого вам прийдется проверять начало и конец сообщения на возможное совпадение. Но вы вполне можете "неугадать", особенно, если диапазон разрешенных символов в искомой строке очень широкий, и чем он больше, тем меньше вероятность, что у вас получится что-то рабочее.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: May 2009
Сообщений: 63
|
На самом деле очень необычная задача. Вообще фраза "строка в аудиопотоке", воспринимается с недоверием (ну откуда взяться тексту в звуке?). Возникает единственное предположение, что в этом самом потоке, записано без изменений название файла, который транслируется (предположим это песня, например из Вконтакте), но если это название, то оно у одного файла должно оставаться постоянным, зачем тогда реалтайм поиск? Ну а если это скажем субтитры для видео (единственный вид текстовой информации который более менее подходит под описание задачи), то вряд ли они записаны а аудиопотоке.
В общем вы уверены, что такое можно сделать во Flash ? Потому-что я например не представляю, чтобы Flash использовался для подобного.
__________________
Все не так просто, как кажется... все гораздо проще... |
|
|||||
|
Modus ponens
|
@Аллиас:
Это почему же нельзя - так примерно записывается метадата / опорные-точки в потоковом видео, они как раз пишутся вместо одного из звуковых каналов.
__________________
Hell is the possibility of sanity |
|
|||||
|
Регистрация: Aug 2009
Сообщений: 7
|
Дело в том, что есть десктопная программулина, которая тянет онлайн радио (тобишь потоковое аудио), так вот, щапускаю я CommView и трассирую поток, получаемый программой. Понятное дело поток идет непрерывный, абракадабра, все как положено. НО вот во время смены трека icy сервер (это популярный сервер для онлайн радиотрансляций) передает прямо в этом потоке вот такой вот параметр StreamTitle='xxx @ yyy'. Так вот мне надо этот поток как бы просмотривать регуляркой.
Цитата:
Цитата:
wvxvw, если можете, представьте, пожалуйста, свою реализацию проверки стрим потока.. |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:47. |
|
|
« Предыдущая тема | Следующая тема » |
|
|