_ \ / _
__| |_ | | _| |__
|__ |___|___| __|
| 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.
zima31@kharkov.ukrtel.net
zima31@kharkov.com
Валерий Ковтун
US4LEH (SATKUR)
EsharSoft 2005