Blog. Just Blog

Быстрый поиск

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

Как получить название текущего трека из Winamp и AIMP

01.12.2011 | Категория: Образ мышления: Assembler | Автор: ManHunter
Winamp был и остается самым популярным мультимедийным плеером для Windows. Такая популярность не могла остаться незамеченной, поэтому появились программы, использующие информацию из него в своих целях. Например, плагины для интернет-мессенджеров устанавливают название воспроизводимого трека в качестве статуса, а моя программа My Music Web Agent отправляет эту информацию в интернет. Для взаимодействия сторонних приложений с Winamp был разработан интерфейс API со своими командами и синтаксисом. По какой-то причине разработчики Winamp сейчас вообще убрали с сайта информацию об API, но в интернете эти данные остались. Я приложил описание Winamp Application Programming Interface в архиве с примером программы, рекомендую ознакомиться с ним перед прочтением статьи, чтобы не возникало вопросов откуда взялись те или иные значения.
  1. ; Сегмент данных
  2. section '.data' data readable writeable
  3.  
  4. ; Название класса окна Winamp/AIMP
  5. wcl      db      'Winamp v1.x',0
  6.  
  7. buff     rb 300h  ; Буфер для получения текста из заголовка окна
  8. play_now rb 300h  ; Буфер для получения названия трека
Плеер Winamp, как и другие приложения для Windows, принимает и обрабатывает сообщения, отправляемые ему через SendMessage. Но для этого сперва надо определить хэндл его окна. Сделать это очень просто, окно Winamp всегда имеет название класса "Winamp v1.x", поэтому воспользуемся функцией FindWindow. Дальше надо узнать состояние плеера. Для этого надо послать окну Winamp сообщение WM_USER с wParam = 0 и lParam = 104. Как написано в документации про это сообщение: "Returns the status of playback. If 'ret' is 1, Winamp is playing. If 'ret' is 3, Winamp is paused. Otherwise, playback is stopped." То есть, если вернулось значение не равное 1, то Winamp ничего не воспроизводит или находится в режиме паузы.
  1. ; Сегмент кода
  2. section '.code' code readable executable
  3.         ...
  4.         ; Получить хэндл окна Winamp
  5.         invoke  FindWindow,wcl,0
  6.         or      eax,eax
  7.         ; Окно Winamp не найдено
  8.         jz      .no_winamp
  9.  
  10.         ; Сохранить хэндл окна
  11.         mov     ebx,eax
  12.  
  13.         ; Что-то сейчас воспроизводится?
  14.         invoke  SendMessage,ebx,WM_USER,NULL,104
  15.         cmp     eax,1
  16.         ; Winamp не находится в состоянии "Play"
  17.         jne     .no_winamp
  18.         ...
Окно мы нашли, состояние проигрывателя знаем, осталось получить название трека, который сейчас воспроизводится. Казалось бы все просто - надо послать еще одно сообщение, которое также описано в документации, и получить результат. Но не тут-то было. Сообщения для получения информации о воспроизводимом файле и названии трека доступны только из контекста процесса самого Winamp, то есть могут использоваться только в плагинах Winamp. Логика разработчиков тут не совсем ясна, ведь для сторонних приложений доступна информация о битрейте текущего трека, размере плей-листа, текущей позиции воспроизведения и еще куча другой малополезной информации, а простейшего названия трека нет.

Читать статью целиком »
Просмотров: 7781 | Комментариев: 9

Как сделать несколько звуковых дорожек в AVI-файле

31.08.2011 | Категория: Software | Автор: ManHunter

Как сделать несколько звуковых дорожек в AVI-файле

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

Читать статью целиком »
Просмотров: 43417 | Комментариев: 30

MP3 Flash-плеер Cowon D2+ 16 Gb

06.04.2011 | Категория: Обзоры техники | Автор: ManHunter

MP3 Flash-плеер Cowon D2+ 16 Gb

На Новый Год немного пополнил зоопарк своей техники, а точнее купил себе новый аудио-плеер Cowon D2+. Поскольку аппарат для меня новый, то я решил его сперва хорошенько поиспользовать, прежде чем составить свое мнение. Прошло почти четыре месяца, и теперь обзор плеера Cowon D2+ перед вами. По возможности я постараюсь обойтись без технических подробностей, это всего лишь мнение обычного пользователя.

Читать статью целиком »
Просмотров: 12836 | Комментариев: 11

Автомобильный FM-трансмиттер Jet.A Cabigu JA-16

20.01.2011 | Категория: Обзоры техники | Автор: ManHunter

Автомобильный FM-трансмиттер Jet.A Cabigu JA-16

Купил жене в машину FM-трансмиттер Jet.A Cabigu JA-16. Это мой первый опыт общения с подобными устройствами, так что выбирал, целиком положившись на интуицию. Ориентир был на внешний вид, функционал и стоимость, в итоге выбрал эту модель. Офсайт разработчика находится в перманентном состоянии "under construction", так что расскажу о трансмиттере поподробнее. Назначение устройств этого класса одно: передавать звук на заранее выбранной частоте на аудиосистему автомобиля. Это безусловно удобно, если ваша магнитола не имеет функции воспроизведения MP3-файлов или из-за конструктивных особенностей автомобиля заменить ее не представляется возможным (встроенная автомагнитола). Еще одно необычное применение FM-трансмиттера - это прослушивание музыки одновременно сразу в нескольких автомобилях, например, компанией на природе. Небольшого радиуса действия передатчика из одной машины как раз хватит.

Читать статью целиком »
Просмотров: 31980 | Комментариев: 14

Мультимедийный плеер iconBIT HMP705HDMI

21.11.2010 | Категория: Обзоры техники | Автор: ManHunter

Мультимедийный плеер iconBIT HMP705HDMI

Нет предела совершенству, но, похоже, что я смог его достичь. Моя вялотекущая эпопея с поиском лучшего портативного видеоплеера закончилась на новинке сезона - мультимедийном плеере iconBIT HMP705HDMI. Сперва была мысль купить модель HMP505HDMI, но я почитал отзывы о нем и решил подождать. Ожидание себя оправдало с лихвой, и теперь я счастливый обладатель портативного медиаплеера с поддержкой Full HD-видео и 7-дюймовым экраном. Как обычно, я воздержусь от унылых технических описаний, их вы можете почитать на официальных источниках, я же буду рассказывать только свои впечатления.

Читать статью целиком »
Просмотров: 12124 | Комментариев: 16

Наверх
Powered by PCL's Speckled Band Engine 0.2 RC3
© ManHunter / PCL, 2008-2024
При использовании материалов ссылка на сайт обязательна
Время генерации: 0.07 сек. / MySQL: 3 (0.0047 сек.) / Память: 4.5 Mb
Наверх