
Быстрый поиск
Введите фрагмент названия статьи для поиска

Как получить название текущего трека из JetAudio
03.07.2015 | Категория: Образ мышления: Assembler | Автор: ManHunter

Как получить название текущего трека из JetAudio
Если перечислять популярные медиаплееры, то не последнее место в этом списке занимает JetAudio. При разработке своей программы My Music Web Agent я решил добавить в нее возможность получать информацию о воспроизводимом треке и для JetAudio. Можно было пойти по наиболее простому пути: поиск окна проигрывателя, поиск его дочерних элементов, где отображается наименование трека, и так далее. Но у JetAudio, в зависимости от настроек, может быть одновременно большое количество окон. Более того, нет неизменного класса или заголовка окна, эти значения меняются от версии к версии. В итоге я решил обратиться к официальной документации для разработчиков, которая, как ни странно, оказалась весьма подробной.
Итак, получение информации из JetAudio сводится к следующим действиям. Сперва надо найти управляющее окно плеера, оно находится по имени класса "COWON Jet-Audio Remocon Class" и заголовку "Jet-Audio Remote Control", хотя на практике вполне достаточно какого-нибудь одного параметра. Затем этому окну отправляются сообщения нескольких типов: управление состоянием плеера и запросы каких-либо параметров. Нас интересует только получение статуса плеера и названия текущего трека. Сперва надо описать несколько констант, которые используются в коде:
Code (Assembler) : Убрать нумерацию
- WM_APP = 0x8000
- WM_REMOCON_GETSTATUS = WM_APP+740
- GET_STATUS_STATUS = 1
- MCI_MODE_PLAY = 526
- GET_STATUS_TRACK_TITLE = 12
- GET_STATUS_TRACK_ARTIST = 13
- JRC_COPYDATA_ID_TRACK_TITLE = 0x3001
- JRC_COPYDATA_ID_TRACK_ARTIST = 0x3002
Читать статью целиком »
Просмотров: 4273 | Комментариев: 0

Исследование защиты программы Machete
12.06.2015 | Категория: Темная сторона Силы | Автор: ManHunter

Скриншот программы Machete
Machete - одна из лучших программ для быстрой нарезки фрагментов из видео- и аудиофайлов. Поддерживается большое количество различных форматов: AVI, FLV, WMV, 3GP, 3G2, MKV, MP4, MOV, WMA, MP3 и WAV. Главной особенностью Machete является то, что файлы не перекодируются, поэтому качество файла после редактирования остается как в исходнике, а скорость работы измеряется секундами. Я сам пользуюсь Machete, чтобы вырезать из любимого сериала рекламу очередного "спонсорского" говносайта. У меня спонсоров нет, за софт я принципиально не плачу, вот и Machete пришлось доводить до ума на предмет абсолютной бесплатности.
Читать статью целиком »
Просмотров: 6319 | Комментариев: 21

Mini 1080P Full HD Media Player
17.06.2012 | Категория: Обзоры техники | Автор: ManHunter

Mini 1080P Full HD Media Player
Очередная посылка от Китая пополнила мой домашний зоопарк техники новым представителем - мультимедийным проигрывателем Mini 1080P Full HD Media Player. Как это принято в лучших традициях китайского приборостроения, каких-то иных маркировок, названий или обозначений обнаружить не удалось, впрочем как и прототипов от более известных брендов. С момента покупки до написания этого обзора у меня было достаточно времени, чтобы протестировать этот девайс со всех сторон, и результатами тестирования я сейчас с вами поделюсь.
Читать статью целиком »
Просмотров: 15780 | Комментариев: 28

Как получить название текущего трека из Winamp и AIMP
01.12.2011 | Категория: Образ мышления: Assembler | Автор: ManHunter
Winamp был и остается самым популярным мультимедийным плеером для Windows. Такая популярность не могла остаться незамеченной, поэтому появились программы, использующие информацию из него в своих целях. Например, плагины для интернет-мессенджеров устанавливают название воспроизводимого трека в качестве статуса, а моя программа My Music Web Agent отправляет эту информацию в интернет. Для взаимодействия сторонних приложений с Winamp был разработан интерфейс API со своими командами и синтаксисом. По какой-то причине разработчики Winamp сейчас вообще убрали с сайта информацию об API, но в интернете эти данные остались. Я приложил описание Winamp Application Programming Interface в архиве с примером программы, рекомендую ознакомиться с ним перед прочтением статьи, чтобы не возникало вопросов откуда взялись те или иные значения.Code (Assembler) : Убрать нумерацию
- ; Сегмент данных
- section '.data' data readable writeable
- ; Название класса окна Winamp/AIMP
- wcl db 'Winamp v1.x',0
- buff rb 300h ; Буфер для получения текста из заголовка окна
- play_now rb 300h ; Буфер для получения названия трека
Code (Assembler) : Убрать нумерацию
- ; Сегмент кода
- section '.code' code readable executable
- ...
- ; Получить хэндл окна Winamp
- invoke FindWindow,wcl,0
- or eax,eax
- ; Окно Winamp не найдено
- jz .no_winamp
- ; Сохранить хэндл окна
- mov ebx,eax
- ; Что-то сейчас воспроизводится?
- invoke SendMessage,ebx,WM_USER,NULL,104
- cmp eax,1
- ; Winamp не находится в состоянии "Play"
- jne .no_winamp
- ...
Читать статью целиком »
Просмотров: 7537 | Комментариев: 9

Как сделать несколько звуковых дорожек в AVI-файле
31.08.2011 | Категория: Software | Автор: ManHunter

Как сделать несколько звуковых дорожек в AVI-файле
На многих торрент-трекерах выкладывают фильмы с несколькими звуковыми дорожками, например, дублированный русский перевод и оригинальная озвучка. А еще часто отдельными файлами выкладывают альтернативные переводы. Современные программные плееры без труда могут загружать звуковую дорожку из внешних файлов, но лично мне хочется, чтобы все было в одном файле. Конечно, полный дубляж - это очень хорошо, но иногда хочется вспомнить времена видеосалонов и посмотреть какой-нибудь старый боевичок в гнусавом переводе Володарского или правильном переводе Гоблина. Сейчас я научу вас как легко собрать фильм и все звуковые дорожки в нужном порядке в один файл.
Читать статью целиком »
Просмотров: 41864 | Комментариев: 28
