Форум: "Система";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];
ВнизAverMedia ДУ Найти похожие ветки
← →
XenonXX (2003-10-27 04:52) [0]Имеется тв тюнер от AverMedia с ДУ. Задача - поймать нажатия клавишей на пульте и хендлить их(видио плеер пишу). Видел проги, которые ловят и юзают это для управления winamp-om, никто не знает как такое в Delphi повторить?
← →
goliath (2003-10-27 09:14) [1]Посмотри на www.lirc.org (кажется). Там есть прога с исходником. Собираешь простенькую схему и получаешь универсальный ИК приемник, который можно использовать и для пульта (причем любого), и, если постараться, приспособить и для передачи любых данных.
← →
XenonXX (2003-10-27 09:24) [2][b][u]2goliath:[/u][/b]
Смотрел я там и прогу скачал, но вот зачем мне схемку собирать? У меня уже есть и пульт и приемник... И я видел проги на Delphi, которые с него инфу получают.
← →
Neep (2003-10-28 08:48) [3]Создал такую же тему, а потом заметил что уже есть такая, вообщем у меня такаяже проблема, если что найдешь поделись, а я в свою очередь тоже необижу. мыло: shv@fromru.com
← →
Reindeer Moss Eater (2003-10-28 09:00) [4]www.google.com
"Delphi программа для пульта AVerMedia"
← →
XenonXX (2003-10-29 07:21) [5]"www.google.com
"Delphi программа для пульта AVerMedia""
Находит только преславутый
remotecontrol.zip который пашет токо в 98-х да и то тока с 98-м тюнером, а у меня Go за 2002 год. :(
Neep, я тебе remotecontrol.zip кидаю, структуру поймешь.
← →
XenonXX (2003-10-29 09:17) [6]....................
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 13:50) [7]
....................
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, значит вызовы защищены, никто не знает как снять защиту и выполнить функцию?
← →
Neep (2003-10-29 19:52) [8]У меня винХР стоит, и такая же ошибка выпадает, похоже они обращаются через порт какойто, а его винда закрывает.
Есть еще такие файлики hwiont.sys и hwiodrv.dll для работы с пультом. С ними работают некоторые программы, например SlyControl.
← →
XenonXX (2003-10-30 16:32) [9]Neep,
thanx за мыло, но это я методом тыка узнавал(выводом всего), да и кнопок у меня побольше:)
На 98-х я уже все запрограммил - роботает. Плеер нормально реагирует на fullscreen, play, pause, play, stop, volume, перемотку, снятие скиншотов...
Я бы тебе скинул для теста, но у тя я так понял 98-х нет.
← →
XenonXX (2003-10-31 08:06) [10]Итак, все:) вот код:
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;
← →
Opuhshii (2003-10-31 14:47) [11]Была такая беда,..
avertv2k.dll
AVER_GetRemoteData возвращала код последней нажатой кнопки уже после того как её отпустили,... чем лечится не понял,..
работал вместе со стандартной программой - помогло...
AVER_HWInit, перед ним был необходим вызов CoInitialize,..
соответственно в конце CoUnInitialize
← →
Alik (2003-10-31 17:54) [12]Посмотри программу: WinLirk(c) она может все настраиваются любые пульты (кроме некоторых Panasonic"ов) С ней на ура работают такие программы, как BsPlayer, Winamp (Но только при наличие специального плагина). В 4 номере ][akep"а писали про это очень подробно. Если заинтересовало, пиши не E-mail. Посмотрю в журнале линки на проги...
Страницы: 1 вся ветка
Форум: "Система";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.008 c