Модуль управления программой 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