_   \     /   _

                        __| |_   | |   _| |__

                         |__  |___|___|  __|

                           |  EsharSoft  |

                            |    _|_    |

                             |__|   |__|

                                  *

                             --- SRC ---

              ****  Telephone VOX recorder МР3 2.1   ****     

                       Software Remote Control

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

                     http://pccontrol.bib.com.ua             

                         ---  16.06.05  ---

                                  *

 

    Для облегчения программирования рекордера создан модуль 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);  //-- Дополнительная команда блокировки

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

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

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

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

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

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

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

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

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

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

 function ControlLevel   : 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 ;   //-- Включить / Отключить таймеры

 

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

 

 

 

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

 

 

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 2.1 .При этом доступна команда  HIDETVR , скрывая саму программу TVR

 (без окна, только в памяти компьютера) наподобие DLL.

 Автор не стал ограничивать эту возможность. Однако, Вы не можете использовать данное

 собственное ПО в коммерческих целях, не согласовав с автором проекта TVR.

 Используя «движок» TVR и невидимый (HIDETVR) режим работы, с помощью Вашего ПО, просьба не

 забывать об авторских правах проекта TVR. 

 

 

        

 

            http://pccontrol.bib.com.ua

 

            http://valery-us4leh.narod.ru

                                

                       zima31@kharkov.ukrtel.net

 

            zima31@kharkov.com

 

            Валерий Ковтун  US4LEH (SATKUR)

 

            EsharSoft 2005