Архив ‘AS3’

Субтитры для флеш видео плейера (AS3)

Пятница, 11 Июль, 2008

Есть такой узкий класс видеоматериалов, которые не переводятся на русский язык или переводятся не слишком хорошо (синхронная озвучка одним голосом). Увы, к нему относится и аниме (японская анимация), которая является одним из моих хобби.

Традиционно задача просмотра аниме решается так - в файлообменных сетях находится нужный файл (сериал) с оригинальным звуком, затем ищутся субтитры на русском языке, потом все это запускается в локальном видеоплейере. Однако находить соответствующие серии в файлообменниках затруднительно + скорость скачивания достаточно мала.

Другой вариант - поискать серию на видеохостингах типа Видео@Mail.ru. Кстати, есть даже анимешные сайты, которые коллекционируют соответствующие ссылки. Однако тут тоже есть проблема - мало кому интересно делать специальную версию аниме с русскоязычными субтитрами, поэтому часто либо заливают готовую с русской синхронной озвучкой (что убивает, на мой взгляд, большую часть атмосферы, ради которой все и затевается), либо оставляют английские сабы, что излишне нагружает мозг при просмотре.

Поглядев на все это, мне подумалось: “Эге! А почему никто, интересно, не написал подключение субтитров к флеш видео плейерам? Это так сложно? В AS3 же вроде появился Loader…” В общем, несколько часов пыхтения и сопения привели к написанию небольшого класса - CuePointsFromSRT, который умеет подгружать в видео субтитры из SRT-файла. (SRT один из наиболее простых форматов, в который обычно можно сконвертировать все остальные).

Соответствующий класс выложен под MIT-лицензией (делайте с ним, что хотите, короче), только киньте мне ссылку, если будете использовать :) По адресу дан пример AIR-приложения с открытыми исходниками и ссылка на полноценный видеоплейер с поддержкой сабов.

В продолжение истории: сделал плейер с поддержкой субтитров, обратился к аниме-комьюнити: используйте, мол. Пошло как-то вяло, так что решил создать свой собственный проект специально под аниме с оригинальной озвучкой и подгружаемыми сабами: http://liveanime.ru/

Preview: OneManga.com manga reader

Вторник, 11 Декабрь, 2007

Если вам вдруг интересно, я на досуге люблю посмотреть аниме и почитать мангу. У каждого человека есть свое небольшое сумасшедствие. http://shounen.ru/anime/otaku/, например. На этом тему “а зачем это нужно?” считаю закрытой :)

Для любителей почитать мангу существует сайт OneManga.com. Там выкладываются свежие главы популярных манг, достаточно оперативно и в одном формате. Правда, на английском, но ждать перевода на русский того, что я хочу прочитать, долго.
Структура проста: собственно “манга” - “главы” - “страницы”. По клике на странице переходишь на следующую страницу и т.д.

Проблема заключается в том, что ждать, пока загрузится очередная страничка… ну, не то, чтобы долго, но разрушает с трудом создаваемый эффект погружения. А всего-то надо в моменты, пока я читаю очередную страницу, подгрузить другие, а затем сразу показать.

“С этой задачей Flex должен справиться с легкостью - достаточно наладить предзагрузку картинок” - подумал я, и работа закипела. Результат можно оценить на http://qs.janvarev.ru/app/#/XmBookReader-onemanga/. Поскольку на мою просьбу в OneManga предоставить XML с мангами, главами и страницами, увы, никто не откликнулся, пришлось парсить HTML-выдачу.

Элемент гордости: на создание рабочей версии ушло всего 3 часа. Еще 3 часа было потрачено на приведение в божеский вид, легкую доработку интерфейса, About, выкладывание на сайт, написания релиза на OneManga и здесь.

PS: Приятно, но на OneManga уже есть один положительный отзыв, притом, что пост был около часа назад. Активное комьюнити, однако :)

Apollo Desktop Photos 1.1

Воскресенье, 16 Сентябрь, 2007

Обнаружил недавно AS3-класс, позволяющий автоматизировать обновление AIR-приложений: Air Remote Updater.

Приятное: класс использует библиотеку FZip от того же автора, что позволяет обойтись без серверного скрипта для проверки версии приложения: для обновления загружается только небольшой кусок AIR-файла, который по сути является ZIP-архивом, пока класс сможет узнать версию приложения, распаковав загруженную часть архива. После сравнения версий, очевидно, можно узнать, нужно ли продолжать обновление. Кроме того, для работы этой штучки не нужно никаких серверных скриптов.

Конечно, я не мог пройти мимо такой игрушки и попытался встроить её в свое на настоящий момент самое продвинутое AIR-приложение - Apollo Desktop Photos. Что успешно и сделал.

Для тестирования рекомендую скачать неопубликованный релиз: Apollo Desktop Photos 1.0.5, а затем нажать в нем кнопочку Check for updates. Тогда вы сможете понаблюдать, как проходит процесс загрузки и обновления до самой последней версии - 1.1.

FirebugDebugLib 1.0

Воскресенье, 22 Июль, 2007

Простая библиотека для отладки на AS3 с использованием FirebugTarget (Исходная статья от автора FirebugTarget).

На страницу проекта

От автора

Не знаю, как вам, а мне приходиться отлаживать одно Flex-приложение, подгруженное в другое. Использовать классический отладчик для этого невозможно (ну, или очень тяжело). Приходилось писать Alert.show(”"), чем я долгое время и занимался.

Так что спасибо Алексею «Vooparker» Аникутину, автору FiregbugTarget - производительность при отладке ошибок выросла очень сильно! Благодаря FirebugTarget все отладочные сообщения можно быстро выводить в стандартную консоль Firebug для Firefox (изначально предназначенную, если не ошибаюсь, для отладки JavaScript скриптов), притом и из подгруженных Flash-файлов тоже.

XMLScriptEngine 1.0 под GPL2

Суббота, 30 Июнь, 2007

XMLScriptEngine - библиотека на AS3 (Action Script 3), позволяющая интерпретировать XML-файлы как скрипт, исполняющийся в некотором окружении.

Пример - Исходный код примера

Возможности библиотеки:

  • Вычисление конструкций произвольной степени вложенности
  • Поддержка условий и циклов
  • Вызов функций у объектов окружения.
  • Добавление собственных функций.

Сегодня раскрыл коды библиотеки под GPL2, в надежде принести пользу человечеству и немного “раскрутить” библиотеку. Для достижения цели страница проекта оформлена на английском :)

Про историю создания я уже писал, теперь - про применение.

Применение

Вообще библиотека должна очень сильно пригодится в файлах конфигурации - вам достаточно просто определить окружение, состоящее из AS3 объектов, а затем запустить файл конфигурации. Язык составлен так, что можно будет запустить любые функции и установить любые параметры для окружения. А если понизить уровень безопасности, то потенциально можно командовать всем AS3-приложением.

Сам я ее применяю в игровом движке GameMaker2Flex, для конфигурации объектов игры.

Apollo Desktop Photos 0.9

Суббота, 2 Июнь, 2007

Маленький фотобраузер, написанный на Apollo. (Страница проекта, английская)

Скачать Apollo Desktop Photos 0.9 (540 Kb) - Install Apollo Runtime first (6 Mb)

Вот сама программа:

Использовать очень просто: достаточно найти папку с фотографиями (в формате JPG). По клику на маленькое изображение фотография полностью появляется. По еще одному - исчезает.

Далее…

Preview: XMLScriptEngine

Воскресенье, 13 Май, 2007

XMLScriptEngine - библиотека на AS3 (Action Script 3), позволяющая интерпретировать XML-файлы как скрипт, исполняющийся в некотором окружении.

Пример - Исходный код примера

Возможности библиотеки:

  • Вычисление конструкций произвольной степени вложенности
  • Поддержка условий и циклов
  • Вызов функций у объектов окружения.
  • Добавление собственных функций.

Далее…