Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

WinAMP [D7, XP]


Страницы:   1 2

Дядя Педро ©   (2008-06-28 12:55:00) 

Здравствуйте.
Как можно узнать название и исплонителя песни, которые проигрываются в винампе? получилось узнать длину трека, битрейт и тп. Делаю так:

function WinampUser(Data: Integer; ID: Integer): Integer;
var
 WinampHWND: HWND;
begin
 WinampHWND := FindWindow('Winamp v1.x', nil);
 if WinampHWND <> 0 then
   Result := SendMessage(WinampHWND, WM_USER, Data, ID)
 else
   Result := -1;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
 Showmessage(IntToStr(WinampUser(1, 105)));
end;

Так я возвращаю длину текущего трека. Но строковые значения как достать не знаю. Помогите, пожалуйста.
Спасибо.


brother   (2008-07-01 07:22:00) [1]


> а может, проще достать из файла?

может и проще, но нужно всеровно знать какой файл проигрывается)


Jet   (2008-06-30 15:10:00) [2]

Ув. мастера. Как же мне все-таки вытащить текст из этого JetAudio? :)
Грубо говоря нужно переделать строчку
str = (LPCTSTR)pCopyDataStruct->lpData в код на Delphi

type PCopyDataStruct = ^TCopyDataStruct;
TCopyDataStruct = record
dwData: LongInt; cbData: LongInt; lpData: Pointer;
end;
..
Но что-то как я ни пытаюсь, нормального текста не возвращает, иероглифы какие-то..


b z   (2008-06-30 13:08:00) [3]


> @!!ex ©   (30.06.08 13:05) [18]
> Не знаю как сейчас, уже года 4 не видел винампа, но раньше
> система управления альбомами была просто отстойная...
А зачем ими управлять?


clickmaker   (2008-06-30 13:07:00) [4]

а может, проще достать из файла?


@!!ex   (2008-06-30 13:05:00) [5]

> Я! И что? ИМХО самый удобный плеер для звуковых файлов (но
> не для видео)

Не знаю как сейчас, уже года 4 не видел винампа, но раньше система управления альбомами была просто отстойная...


Дядя Педро   (2008-06-30 12:09:00) [6]

Спасибо-то всегда успею сказать)) Спасибо ;)
Ну попробую канеш из эдитов выдрать...


brother   (2008-06-30 11:59:00) [7]


> А какое если не секрет? =)

разжевать и проглотить?)
я и так уже разжевал, где спасибо? ;) а далее сам...


Дядя Педро   (2008-06-30 11:53:00) [8]


> для модерна там другое

А какое если не секрет? =)


brother   (2008-06-30 10:05:00) [9]

как вариант:
находим окно плейлист винампа, посылаем alt+3, находим то окно, что появилось, выдираем все что нужно из едитов, закрываем окно...

> Winamp v1.x

это для классического скина, для модерна там другое (сам с винампом разбирался в свое время)


Дядя Педро   (2008-06-30 10:02:00) [10]

Я пользую AIMP, но суть в том, что из него инфа достается точно так же как из винампа. А винамп, имхо, намного хуже аимпа)


brother   (2008-06-30 09:58:00) [11]


> Кто-то еще пользуется WinAmpом??

Я! И что? ИМХО самый удобный плеер для звуковых файлов (но не для видео)


Jet   (2008-06-30 00:54:00) [12]

Спасибо. Глянул СДК, осилил управление плеером и тд.. Но вот скопировать инфу о треке не могу.
Кусок АПИ

Message for status. wParam is not used. For lParam, refer to commands below
#define WM_REMOCON_GETSTATUS    (WM_APP+740)

//////////////////////////////////////////////////////////////////////////
//
// Status command
//
// Usage -> return = SendMessage(m_hWndJetAudio, WM_REMOCON_GETSTATUS, 0, command);

// Get title info of current track
// string will be returned using WM_COPYDATA message
#define GET_STATUS_TRACK_TITLE    (12)

//////////////////////////////////////////////////////////////////////////
// WM_COPYDATA is used for receive string information from Jet-Audio
// For more information, refer to example source code
//////////////////////////////////////////////////////////////////////////
Они вот так получают:

str = (LPCTSTR)pCopyDataStruct->lpData;



hjar:=FindWindow('COWON Jet-Audio Remocon Class', 'Jet-Audio Remote Control');
if hjar<>0 then
SendMessage(hjar, WM_APP+740, 0, 12);
str:=LPCTSTR(PCOPYDATASTRUCT('НЕ ЗНАЮ ЧТО СЮДА НАПИСАТЬ');


Ляпа   (2008-06-29 22:50:00) [13]


> Если у кого получится+не жалко времени/трафика, перезалейте
> пожалуйста куда-нибудь.


http://89.223.39.99/jet/


Jet   (2008-06-29 22:34:00) [14]

>easy ©   (29.06.08 20:43) [6]
Вчера там везде был. С винампом - все понятно.
По поводу ДжетАудио: по той ссылке http://www.media-play.org/download/index.php?subcat=104у меня не получается скачать ни одно SDK. Чето фаервол ему мой не нравится... который отключен... Если у кого получится+не жалко времени/трафика, перезалейте пожалуйста куда-нибудь.


JanMihail   (2008-06-29 22:04:00) [15]


> Кто-то еще пользуется WinAmpом??


почему бы и нет? я пользуюсь. Он очень удобен по сравнению с Media Player'ом и другими музыкальными проигрывателями


@!!ex   (2008-06-29 21:28:00) [16]

<offtop>
Кто-то еще пользуется WinAmpом??
</offtop>


easy   (2008-06-29 20:43:00) [17]

я бы здесь для начала посмотрел -
winamp
http://www.winamp.com/development/sdk
JetAudio
http://www.media-play.org/download/index.php?subcat=104


Jet   (2008-06-29 18:02:00) [18]

А на кнопке программы, расположенной на панели задач, какой текст отображается? Такой же, движущийся?
ага :) а в самом JetAudio даж в настройках нету отключить это движение. Можно только название сделать чтоб заместо трека выставлялось слово JetAudio....


AlexanderMS   (2008-06-29 13:32:00) [19]


> Проблема в том, что текст в заголовке главного окна "ползает",
>  как бегущая строка.

А на кнопке программы, расположенной на панели задач, какой текст отображается? Такой же, движущийся?


grisme   (2008-06-29 13:08:00) [20]

разве у WinAMP нет собственного API для этих целей?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо