Основные возможности программы Cоздание проекта, подключение модуля Блокировка громкости и регуляторов Считывание контрольных параметров Обращение к функциям из других языков программирования Примеры программ управления ! Извините, не все эти ссылки еще готовы *
|
Главная | Основные возможности | Программирование рекордера |
Поддержка внешних команд управления |
|
Одной из важных особенностей программы Telephone VOX recorder МР3 (не ниже версии 2.1), является поддержка внешних команд управления. Это позволяет корпоративным или специально заинтересованным пользователям создать свой собственный сервер для записи и архивации любых телефонных или радиопереговоров, или же систему записи аудиоинформации (например, с таких устройств снятия речевой информации как спецтехника, жучки, радиомикрофоны и т.п.) следуя собственной конфигурации и алгоритму работы. Практически это обьясняется очень просто: все те кнопки и другие органы управления рекордера (точнее их функции), которыми Вы пользуетесь при работе с программой с помощью мышки (например, включаете – отключаете запись, воспроизведение, перемотку, различные режимы и т.п.) теперь стали доступны из любого другого программного обеспечения, реагируя на соответствующие команды. При этом саму программу можно сделать невидимой как окно (видна только в менеджере процессов Ctrl+Alt+Del). Тоесть Вы можете создать собственную программу управления рекордером. Например, в нужное время Ваша программа включает запись, затем воспроизводит записанный файл или весь список файлов, или же Вы пишете программу клиент и программу сервер для управления чем-либо через интернет и добавляете туда команды управления рекордером, для дистанционного администрирования рекордера через сеть. Аналогично несложно управлять рекордером по радиосвязи написав программу-драйвер к радиостанции, или же через любой распостранённый ИК пульт телевизора, изготовив соответствующее ПО и подключив ИК датчик например, в СОМ порт ПК, как это делается для Winamp. В любом случае, автору поступало достаточно писем с просьбой ввести возможность управления с помощью внешних команд, хотя бы через bat файл. Теперь же, используя функции программы TVR, Вы имеете возможность за несколько минут написать свой собственный рекордер формата МР3, состоящий всего из нескольких строк кода (это собственно и будут команды TVR). Для облегчения программирования рекордера создан модуль TVR.pas (Делфи) Рекордер управляется посредством считывания команд из реестра Всего доступно 49 команд. (смотрите мануал МОДУЛЬ_УПРАВЛЕНИЯ.htm в каталоге программы) Если Вы еще не скачали программу TVR.zip , тогда можете ознакомиться с описанием модуля, прочитав ниже. Для программирования управления рекордером создайте проект, скопируйте модуль TVR.pas в каталог проекта и подключите его в список uses, добавив TVR. Если Вы не знаете как сделать это, смотрите готовый шаблон, с уже подключенным модулем TVR.pas (Папка SHABLON_TVR в каталоге TVR_CONTROL - в составе архива программы TVR.zip). Откройте эту папку и запустите файл Project1.dpr Далее расположите на форме кнопки и, щёлкнув двойным щелчком, вставьте нужную команду . Кроме того смотрите готовый исходник DemoTVR что прилагается. Готовая демонстрационная программа DemoTVR.exe находиться в каталоге программы. Для проверки запустите программу TVR (файл Recorder.exe), затем на панели «Программный контроль» (Ctr+Alt+S) включите программное управление, после чего запустите программу DemoTVR.exe и посылайте нужную команду. Журнал команд TVR выдаст информацию о принятой команде и исполнит ёё.
Для самых начинающих Если Вы ранее не программировали на Дельфи, но достаточно опытный пользователь ПК или технический работник, думаю, Вам не будет сложно запрограммировать Telephone VOX recorder МР3 2.1 самостоятельно. От Вас потребуется установить компилятор Дельфи. Подойдёт любая версия, но лучше начиная с пятой. При установке компилятора просто соглашайтесь на все диалоги инсталятора. После установки запускайте Делфи. Затем откройте папку SHABLON_TVR из разархивированного архива TVR.zip Далее, как уже было сказанно выше, запустите файл Project1.dpr . На панели с компонентами найдите кнопку Button. Кликните по ней двойным щелчком и она окажется на форме шаблона. Аналогично щелкните по кнопке и компилятор сгенерирует код процедуры обработки “на клик” для этой кнопки. Вам остаётся только внутри блока begin ... end вставить нужную команду, например: TVR.COMMAND(REC); Эта команда включает рекордер на запись. Для компиляции созданной программы нажмите F9. При этом откомпилируется и сразу запустися файл “Project1.exe”, т.е. Ваша программа. Для проверки запустите сам рекордер, это естественно файл “Recorder.exe”. TVR (не ниже 2.1). На панели «Программный контроль» (Ctr+Alt+S) включите программное управление. Посылайте свою команду. Журнал команд TVR выдаст информацию о принятой команде и исполнит ёё . В данном случае рекордер включится на запись. Убедившись в этом, закройте свою программу, автоматически вернувшись в компилятор. Расположите на форме вторую кнопку. Аналогично вставте команду TVR.COMMAND(STOP); После чего снова проделайте описанный выше процесс. При щелчке по данной кнопке готового приложения, рекордер выключиться из режима записи и сохранит в файл. |
Описание процедур, функций и команд модуля TVR.pas |
//---------------------------------------------------------------------------------------- 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;
ПРИМЕР РЕГУЛИРОВКИ ГРОМКОСТИ:
Для управления микшером используйте ползунок TrackBar. При перемещении ползунка генерируется событие TrackBarChange (On Change), при этом вызывается процедура LEVEL:
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.Button5Click(Sender: TObject); begin TVR.COMMAND(MUTEVOL) ; //-- Включает / отключает громкость end;
ПРИМЕР СЧИТЫВАНИЯ КОНТРОЛЬНЫХ ПАРАМЕТРОВ:
Для контроля выполненных команд и увеличения функциональности программ управления, рекордер TVR формирует достаточное колличество контрольных параметров. Считывать эти данные удобно с помощью Таймера. Интервал 100 – 500 мсек.
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.
|