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

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

AverMedia ДУ [D6, Win95/98, WinXP]


XenonXX ©   (2003-10-27 04:52:00) 

Имеется тв тюнер от AverMedia с ДУ. Задача - поймать нажатия клавишей на пульте и хендлить их(видио плеер пишу). Видел проги, которые ловят и юзают это для управления winamp-om, никто не знает как такое в Delphi повторить?


Alik   (2003-10-31 17:54:00) [1]

Посмотри программу: WinLirk(c) она может все настраиваются любые пульты (кроме некоторых Panasonic"ов) С ней на ура работают такие программы, как BsPlayer, Winamp (Но только при наличие специального плагина). В 4 номере ][akep"а писали про это очень подробно. Если заинтересовало, пиши не E-mail. Посмотрю в журнале линки на проги...


Opuhshii   (2003-10-31 14:47:00) [2]

Была такая беда,..

avertv2k.dll

AVER_GetRemoteData возвращала код последней нажатой кнопки уже после того как её отпустили,... чем лечится не понял,..
работал вместе со стандартной программой - помогло...

AVER_HWInit, перед ним был необходим вызов CoInitialize,..
соответственно в конце CoUnInitialize


XenonXX   (2003-10-31 08:06:00) [3]

Итак, все:) вот код:

type
Tfunction=function:longint;// не integer!
.................
procedure TForm1.FormCreate(Sender: TObject);
var h:THandle;
begin
h:=LoadLibrary("avertv32.dll");
if h=0 then begin
h:=LoadLibrary("avertv2k.dll");
end;
if h<>0 then begin
@AVER_HWInit:=GetProcAddress(h, "AVER_HWInit");
@AVER_GetRemoteData:=GetProcAddress(h, "AVER_GetRemoteData");
AverRemote:=AVER_HWInit;
end;
...............

procedure TForm1.Timer5Timer(Sender: TObject);
var y:integer;
Multi:set of byte;
begin
multi:=[250,122,67,195,186,58,10,42];//можна зажимать
if AverRemote<0 then begin//не 0!
exit;
Timer5.Enabled:=false;
end;
y:=AVER_GetRemoteData;
if (y<>AverRemote)or(y in Multi) then
begin
HandleRemote(y);//y - код кнопки
AverRemote:=y;
end;
end;


XenonXX   (2003-10-30 16:32:00) [4]

Neep,
thanx за мыло, но это я методом тыка узнавал(выводом всего), да и кнопок у меня побольше:)

На 98-х я уже все запрограммил - роботает. Плеер нормально реагирует на fullscreen, play, pause, play, stop, volume, перемотку, снятие скиншотов...

Я бы тебе скинул для теста, но у тя я так понял 98-х нет.


Neep   (2003-10-29 19:52:00) [5]

У меня винХР стоит, и такая же ошибка выпадает, похоже они обращаются через порт какойто, а его винда закрывает.
Есть еще такие файлики hwiont.sys и hwiodrv.dll для работы с пультом. С ними работают некоторые программы, например SlyControl.


XenonXX   (2003-10-29 13:50:00) [6]

....................
function AVER_GetRemoteData:integer; cdecl;external "AverTV32.dll";

implementation

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
i:=AVER_GetRemoteData;
ShowMessage(IntToStr(i));
end;


Этот код пашет на 98-х, и если присобачить его вызов в таймер, можно ловить нажатие ЛЮБОЙ кнопки на пульте, но есть проблема: функция возвращает значение регистра кнопки, а оно не oнуляется т.е. она всегда выдает значение последне нажатой кнопки.
Да, значения идут разные для down и up.

На 2к и выше выдается Access violation, значит вызовы защищены, никто не знает как снять защиту и выполнить функцию?


XenonXX   (2003-10-29 09:17:00) [7]

....................
function AVER_GetRemoteData:integer; cdecl;external "AverTV2k.dll";
procedure AVER_HWInit; cdecl;external "AverTV2k.dll";
function AVER_IsRemoteDataReady:integer;cdecl;external "AverTV2k.dll";

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var i:integer;
begin
AVER_HWInit;
i:=AVER_IsRemoteDataReady; ///Access violation - почему????
i:=AVER_GetRemoteData;///Access violation - почему????
ShowMessage(IntToStr(i));
end;
............................


XenonXX   (2003-10-29 07:21:00) [8]

"www.google.com
"Delphi программа для пульта AVerMedia""

Находит только преславутый
remotecontrol.zip который пашет токо в 98-х да и то тока с 98-м тюнером, а у меня Go за 2002 год. :(

Neep, я тебе remotecontrol.zip кидаю, структуру поймешь.


Reindeer Moss Eater   (2003-10-28 09:00:00) [9]

www.google.com
"Delphi программа для пульта AVerMedia"


Neep   (2003-10-28 08:48:00) [10]

Создал такую же тему, а потом заметил что уже есть такая, вообщем у меня такаяже проблема, если что найдешь поделись, а я в свою очередь тоже необижу. мыло: shv@fromru.com


XenonXX   (2003-10-27 09:24:00) [11]

[b][u]2goliath:[/u][/b]
Смотрел я там и прогу скачал, но вот зачем мне схемку собирать? У меня уже есть и пульт и приемник... И я видел проги на Delphi, которые с него инфу получают.


goliath   (2003-10-27 09:14:00) [12]

Посмотри на www.lirc.org (кажется). Там есть прога с исходником. Собираешь простенькую схему и получаешь универсальный ИК приемник, который можно использовать и для пульта (причем любого), и, если постараться, приспособить и для передачи любых данных.


Наверх

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