воскресенье, 26 октября 2014 г.

Реверс аудио. Описание API вызова библиотеки BackWAV.DLL

Данная библиотека (далее DLL) предназначена для реверсирования аудио-данных в файлах формата WAV PCM (1 channel) c возможностью изменения скорости/тональности в сторону увеличения или замедления. DLL предоставляет универсальный доступ к записи для других приложений вне зависимости от языка в среде Win32/64.

 

Cистемные требования и зависимости
  1. ОС: Windows
  2. Форматы файлов: WAV PCM.
Для использования DLL в своих проектах соблюдайте соглашение об stdcall-вызовах. Тип соглашения о вызове объявляется после прототипа функции, будь то объявление функционального типа или же объявление функции.

Таблица расшифровок параметров экспортируемой функции back() библиотеки 'BackWAV.DLL':



Пример динамического подключения (Delphi 6/7/2006/2009/2010/TDL/XE5-7):
var

     back:function(inwav,   // путь к WAV PCM
                   outwav:  // путь к обратному WAV PCM
                   pansichar;
                   rate:    // частота дискретизации (эффекты, скажем ускорить речь :), задайте к примеру 32000)
                   integer): pansichar; stdcall;
     LibHandle: THandle;


function LinkProc(h: thandle; ProcName: string):Pointer;
begin
 result:= GetProcAddress(h, PChar(ProcName))
end;

{ инициализация }
begin
 // подключаем DLL
 LibHandle:= LoadLibrary('BackWAV.dll');
 if LibHandle<>0 then
  back:= LinkProc(LibHandle, 'back');
...

{ деинициализация }
begin
 if LibHandle <> 0 then
  FreeLibrary(LibHandle)
...


{ пример вызова }
begin
 back('name.wav',
      'out.wav',
      44100 {88000})
...
ПОРЯДОК ИСПОЛЬЗОВАНИЯ
  1. При задании пути-имени выходного файла параметр 'outwav' может быть пустым.
  2. Параметр 'rate' позволяет увеличить или уменьшить скорость (битрейт) трека.
  3. Повторное реверсирование дает восстановление исходного файла.

Комментариев нет:

Отправить комментарий

В комментариях уважайте собеседника, внимательно читайте посты и не додумывайте. Просьбы и предложения из разряда: «можно ваш Skype/Viber/телефон», «напишите мне в vk/FB», а также другие им подобные — игнорируются. Выход новых версий ПО, внешняя ссылка, переставшая работать с течением времени и т.п. не является основанием для претензий. Желающие спокойно подискутировать и высказаться — Welcome. Желающие спонсировать блог — Donate. Нарушение этих простых правил ведет к бану и удалению комментариев без предупреждения.