Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];

Вниз

WinAMP   Найти похожие ветки 

 
Дядя Педро   (2008-06-28 12:55) [0]

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

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;

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


 
AlexanderMS ©   (2008-06-28 20:17) [1]

1) Может, проще достать из заголовка главного окна?
2) Поэкспериментировать с ID?


 
Jet   (2008-06-29 12:27) [2]

У меня проблема с получением названия трека из JetAudio.

hja := FindWindow("COWON Jet-Audio MainWnd Class", nil);
 if hja <> 0
  then
    begin
     SetLength(tmp, 255);
     GetWindowText(hja, @tmp[1], 255);
...............................................

Проблема в том, что текст в заголовке главного окна "ползает", как бегущая строка. Была мысль накапливать по букве весь текст, который через заголовок идет, но не радостно как-то от этого.
Есть ли какой способ более "правильный" и быстрый?


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

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


 
AlexanderMS ©   (2008-06-29 13:32) [4]


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

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


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

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


 
easy ©   (2008-06-29 20:43) [6]

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


 
@!!ex ©   (2008-06-29 21:28) [7]

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


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


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


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


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

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


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


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


http://89.223.39.99/jet/


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

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

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("НЕ ЗНАЮ ЧТО СЮДА НАПИСАТЬ");


 
brother ©   (2008-06-30 09:58) [12]


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

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


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

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


 
brother ©   (2008-06-30 10:05) [14]

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

> Winamp v1.x

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


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


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

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


 
brother ©   (2008-06-30 11:59) [16]


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

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


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

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


 
@!!ex ©   (2008-06-30 13:05) [18]

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

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


 
clickmaker ©   (2008-06-30 13:07) [19]

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


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


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


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

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

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


 
brother ©   (2008-07-01 07:22) [22]


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

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



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2008.08.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.5 MB
Время: 0.008 c
15-1213623237
Terr
2008-06-16 17:33
2008.08.03
Возможно ли использование программ


2-1214920523
Pasha L
2008-07-01 17:55
2008.08.03
Как узнать глобальные координаты контрола ?


4-1193628432
031178
2007-10-29 06:27
2008.08.03
Как программно поменять частоту обновления экрана


2-1215055645
prodex
2008-07-03 07:27
2008.08.03
Объясните разницу..


11-1191869034
Jon
2007-10-08 22:43
2008.08.03
WM_THEMECHANGED





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский