Модуль управления программой TVR


         

Модуль управления программой TVR


    Для облегчения программирования рекордера создан модуль TVR.pas (Делфи)  

    Рекордер управляется посредством считывания команд из реестра

 Для программирования управления рекордером создайте проект, скопируйте

 модуль TVR.pas в каталог проекта и подключите его в список uses, добавив TVR

 Если Вы не знаете как сделать это, смотрите готовый шаблон, с уже подключенным

 модулем TVR.pas (Папка SHABLON_TVR в каталоге TVR_CONTROL ).

 Откройте эту папку и запустите файл Project1.dpr Далее расположите на форме

 кнопки и, щёлкнув двойным щелчком, вставьте нужную команду (Смотри примеры ниже).

 Кроме того смотрите готовый исходник DemoTVR что прилагается.                                                                                                                                                              

//------------------------------------------------------------------------------

 procedure COMMAND(execute: integer);   //-- Посылает команды управления

 procedure LEVEL(mixer,number,level: integer);   //-- Управляет микшером

 procedure MUTE(block: boolean);  //-- Дополнительная команда блокировки

 procedure FormatMP3(kbs,frequency,mode: string); //-- Устанавливает формат МР3 файла

 function SrcYes   : boolean ;  //-- Возвращает True если включ. внешнее програмн. управлен.



 function PauseYes : boolean ;  //-- Возвращает True если включ. пауза

 function PlayYes  : boolean ;  //-- Возвращает True если включ. воспроизведен.

 function RecYes   : boolean ;  //-- Возвращает True если включ. Запись

 function Started  : boolean ;  //-- Возвращает True если программа TVR запущена

 function FilePlay : string ;     //-- Возвращает имя  открытого файла

 function FileRec  : string ;     //-- Возвращает имя записанного файла

 function FileOpenInfo : string ; //-- Возвращает информацию об воспр. файле

 function FileListInfo : string ; //-- Возвращает сколько файлов в списке воспр.

 function InfoDateRec  : string ; //-- Возвращает дату последней записи


 function FullTimeRec  : string ; //-- Возвращает продолжительн. записанного файла

 function LevelName    : string ; //-- Возвращ. имя регулируемого уровня (регулятора)

 function ExecuteCom   : string ; //-- Возвращ. информ. о выполненной команде(как в логе TVR)

 function ControlRec   : string ; //-- Возвращ. информ. о процессе записи в реальном времени

 function ControlPlay  : string ; //-- Возвращ. информ. о процессе  воспроизведен.

 function User         : string ; //-- Возвращает имя пользователя (профиль) запустившего TVR

 function ControlCommand : integer ; //-- Возвращает принятую команду управления

 function ControlLevel   : integer ; //-- Возвращает уровень позиции регулятора

 function ControlSent    : integer ; //-- Возвращает общее кол-во принятых команд

//-------------------------------------------------------------------------------

     -- Для удобства использования команд определенны след. константы --  

 

 

  STOP             : integer =  0 ;   //-- Стоп запись

  REC              : integer =  1 ;   //-- Старт запись

  PLAY             : integer =  2 ;   //-- Старт воспроизведение

  BACK             : integer =  3 ;   //-- Перемотка назад

  STEP             : integer =  4 ;   //-- Перемотка вперёд

  NEXTFILE         : integer =  5 ;   //-- Переход к следующему файлу

  PREV             : integer =  6 ;   //-- Переход к предидущему файлу

  STOPPL           : integer =  7 ;   //-- Стоп воспроизведение

  SAVEAS           : integer =  8 ;   //-- Открыть диалог "Сохранить как..."

  CLOSETVR         : integer =  9 ;   //-- Закрыть программу TVR

  HIDETVR          : integer = 10 ;   //-- Полностью скрыть окно программы !

  SHOWTVR          : integer = 11 ;   //-- Показать окно программы если оно скрыто

  MINIMIZET        : integer = 12 ;   //-- Свернуть окно в панель задач

  NORMAL           : integer = 13 ;   //-- Развернуть окно нормально

  LEFTON           : integer = 14 ;   //-- Воспроизводить только левый канал



  RIGHTON          : integer = 15 ;   //-- Воспроизводить только правый канал

  STEREO           : integer = 16 ;   //-- Воспроизводить оба канала (Стерео)

  ONSTARTFILE      : integer = 17 ;   //-- Воспроизвести файл с самого начала

  SHOWRECORDLOG    : integer = 18 ;   //-- Показать журнал записей архиватора

  UPDATELIST       : integer = 19 ;   //-- Обновить список файлов

  RECORDDIR        : integer = 20 ;   //-- Перейти к текущему архиву записей

  EDITFILE         : integer = 21 ;   //-- Переключение режима Читать / Редактир. файлы

  RUNTVR           : integer = 22 ;   //-- Запуск второй копии программы

  MUTEVOL          : integer = 23 ;   //-- Включить / отключить громкость -1

  MUTE0            : integer = 24 ;   //-- Включить / отключить регулятор  0

  MUTE1            : integer = 25 ;   //-- Включить / отключить регулятор  1

  MUTE2            : integer = 26 ;   //-- Включить / отключить регулятор  2

  MUTE3            : integer = 27 ;   //-- Включить / отключить регулятор  3

  MUTE4            : integer = 28 ;   //-- Включить / отключить регулятор  4

  MUTE5            : integer = 29 ;   //-- Включить / отключить регулятор  5

  RECLEV           : integer = 30 ;   //-- Включить / отключить регулятор -1 уровень записи

  MIX0             : integer = 31 ;   //-- Включить / отключить регулятор  0 микшера записи

  MIX1             : integer = 32 ;   //-- Включить / отключить регулятор  1 микшера записи

  MIX2             : integer = 33 ;   //-- Включить / отключить регулятор  2 микшера записи

  MIX3             : integer = 34 ;   //-- Включить / отключить регулятор  3 микшера записи

  DISKCONTROL      : integer = 35 ;   //-- Включить / отключить лимит диска

  VOXLEFT          : integer = 36 ;   //-- Включить / отключить звуковое управ. лев.  канала

  VOXRIGHT         : integer = 37 ;   //-- Включить / отключить звуковое управ. прав. канала

  SOUND            : integer = 38 ;   //-- Включить / отключить звуковые подтверждения

  TIMEQUOTA        : integer = 39 ;   //-- Включить / отключить Ограничить время записи



  SIZEQUOTA        : integer = 40 ;   //-- Включить / отключить Ограничить размер записи

  AVSTOPDISK       : integer = 41 ;   //-- Включить / отключить Автостол если превыш. лимит

  LPTCONTROL       : integer = 42 ;   //-- Перейти к управлению через LPT порт

  HANDCONTROL      : integer = 43 ;   //-- Перейти на ручное управление

  VOXCONTROL       : integer = 44 ;   //-- Перейти на звуковое управление

  SHOWMIXERWIN     : integer = 45 ;   //-- Показать микшер Windows

  SAVELOG          : integer = 46 ;   //-- Сохранить лог файл принятых команд

  CLEARLOG         : integer = 47 ;   //-- Очистить журнал принятых команд

  FREETVR          : integer = 48 ;   //-- Удалить командные ключи с реестра TVR

  TIMER            : integer = 49 ;   //-- Включить / Отключить таймеры

  PAUSE            : integer = 50 ;   //-- Включить / Отключить Паузу (приостан. запись)

//------------------------------------------------------------------------------

                   

ПРИМЕРЫ КОМАНД:


procedure TForm1.Button1Click(Sender: TObject);

begin

TVR.COMMAND(REC) ;  //-- Включает запись

end;

procedure TForm1.Button2Click(Sender: TObject);

begin

TVR.COMMAND(STOP);  //-- Выключает запись

end;

procedure TForm1.Button3Click(Sender: TObject);

begin

TVR.COMMAND(HIDETVR) ;  //-- Скрыть программу TVR (работает в фоновом режиме)

end;

procedure TForm1.Button4Click(Sender: TObject);

begin

TVR.COMMAND(SHOWTVR) ;  //-- Показать программу TVR (обычный режим)

end;

              ПРИМЕР РЕГУЛИРОВКИ ГРОМКОСТИ:

    procedure LEVEL(mixer,number,level : integer);

 

             Управляет микшером где:

   mixer - 0 : микшер воспроизведения и аудиоконтроля

           1 : микшер контроля записи ;

   number - номер регулятора от -1 до самого последнего ;

   level  - уровень громкости от 0 до 65535 ;   

procedure TForm1.TrackBar1Change(Sender: TObject);

begin

 TVR.LEVEL(0,-1,TrackBar1.Position); //-- Регулирует громкость (MIN = 0, MAX = 65535)

end;

             ПРИМЕР СЧИТЫВАНИЯ КОНТРОЛЬНЫХ ПАРАМЕТРОВ:

procedure TForm1.Timer1Timer(Sender: TObject);

begin

CheckBox1.Checked := TVR.RecYes;  //-- Галочка если включена запись

CheckBox2.Checked := TVR.PlayYes; //-- Галочка если включено воспроизведение

Label1.Caption := TVR.FilePlay;   //-- Выводит имя открытого файла воспроизведения

Label2.Caption := TVR.FileRec;    //-- Выводит имя последнего записанного файла

Label3.Caption := TVR.FileOpenInfo; //-- Выводит информацию об воспр. файле

Label4.Caption := TVR.FileListInfo; //-- Выводит сколько файлов в списке воспр.

Label5.Caption := TVR.InfoDateRec;  //-- Выводит дату последней записи

Label6.Caption := TVR.FullTimeRec;  //-- Выводит продолжительность записанного файла

Edit1.Text := IntToStr(TVR.ControlCommand); //-- Выводит принятую команду управления

Edit2.Text := IntToStr(TVR.ControlLevel);  //-- Выводит принятый уровень позиции регул.

end;

                           ПРОВЕРКА:

1.    Откомпилируйте созданное приложение (F9);


2.    Запустите программу TVR (не ниже 2.1) ;
3.    На панели «Программный контроль» (Ctr+Alt+S) включите программное управление ;
4.    Посылайте свою команду ;
5.    Журнал команд TVR выдаст информацию о принятой команде и исполнит ёё ;
                     УСЛОВИЯ ИСПОЛЬЗОВАНИЯ:
    Данный модуль управления предоставляет возможность разработчикам практически мгновенно
 разрабатывать приложения (ПО) для записи и воспроизведения  звука в формате МР3 используя
 функции программы TVR. При этом доступна команда  HIDETVR , скрывая саму программу TVR
 (без окна, только в памяти компьютера) наподобие DLL.
 Автор не стал ограничивать эту возможность. Однако, Вы не можете использовать данное
 собственное ПО в коммерческих целях, не согласовав с автором проекта TVR.
 Используя «движок» TVR и невидимый (HIDETVR) режим работы, с помощью Вашего ПО, просьба не
 забывать об авторских правах проекта TVR. 
                      СОВМЕСТИМОСТЬ ВЕРСИЙ
           -------- Новое для версии TVR 3.0 --------
 PAUSE : integer = 50 ; //-- Включить / Отключить Паузу (приостан. запись)
 procedure FormatMP3(kbs,frequency,mode: string); //-- Устанавливает формат МР3 файла
 function SrcYes : boolean ;  //-- Возвращает True если включ. внешнее програмн. управлен.
 function PauseYes : boolean ;  //-- Возвращает True если включ. пауза
 function ExecuteCom  : string ; //-- Возвращ. информ. о выполненной команде(как в логе TVR)
 function ControlRec  : string ; //-- Возвращ. информ. о процессе записи в реальном времени
 function ControlSent : integer ; //-- Возвращает общее кол-во принятых команд
 
                            ****
            -------- Новое для версии TVR 3.1 --------
           
 function Started  : boolean ;  //-- Возвращает True если программа TVR запущена
 function ControlPlay  : string ; //-- Возвращ. информ. о процессе  воспроизведен.
 function User         : string ; //-- Возвращает имя пользователя (профиль) запустившего TVR
                            ****                                                       
                       ICQ 237520890
                 http://pccontrol.bib.com.ua
                 http://valery-us4leh.narod.ru
                                
                                  zima31@kharkov.ukrtel.net   
                 zima31@kharkov.com
                 Валерий Ковтун  US4LEH (SATKUR)
                 EsharSoft 2005