Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Система";
Текущий архив: 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.009 c
14-37868
Maga MS
2003-12-21 18:57
2004.01.13
Папка-ярлык или феномен


1-37646
MadAngel
2003-12-26 19:50
2004.01.13
Картинки в TreeView


14-37895
mfender
2003-12-17 20:06
2004.01.13
Отключение модема по времени.


6-37827
AlexanderSK
2003-11-10 16:54
2004.01.13
Несколько HTTP запросов один за одним


1-37783
Agent13
2003-12-29 13:19
2004.01.13
Необычный ControlBar





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский