Итак, если вы разрабатываете свой Плеер и не желаете использовать библиотеки
BassVis или BASS_SFX для визуализации различных эффектов, то можете
воспользоваться Nano Visual Library.
Nano Visual Library – это небольшая библиотека размеров 26 КБ,
которая умеет визуализировать различные графические образы от разных
мультимедийных приложений. Пока на этапе разработке правильно работать она умеет
только с визуальными образами плееров AIMP(*.dll) ,Sonique(*.svp). Базируется
она на всем известном аудио движке Bass.dll. Т.е в вашем проекте обязательно
должен участвовать именно этот движок для работы Nano Visual Library. Она
содержит довольно понятный SDK, думаю любой сможет без проблем разобраться, что
к чему. Но всё таки объясню – какие функции что означают:
- NanoVis_Init – обязательная процедура, желательно выполнять при
инициализации вашего приложения.
- NanoVis_DeInit – анологичная предыдущей процедуре, только
действия выполняются после работы приложения (при закрытии Destroy).
- NanoVis_LoadFromFile(FileName: PWideChar) - для версий Delphi
2009 и выше.
NanoVis_LoadFromFile(FileName: PAnsiChar) – для версий ниже Delphi
2009.
Функция, служит для загрузки библиотеки в память – возвращает Bool (True, False) - NanoVis_FreePlugin – выгружает загруженный плагин из памяти
- NanoVis_ResizeWindow(ANewWidth,ANewHeight: Integer) – процедура
задаёт параметры окна визуализации – первый параметр задаёт длину, второй
высоту.
- NanoVis_Render – функция возврщает тип Bool , служит для вывода
визуализации на экран. Желательно использовать в например таких местах как
Timer.
- NanoVis_GetPluginAuthor – функция возвращает имя автора плагина.
- NanoVis_GetPluginType – функция вовзращает тип плагина (Sonique,
AIMP);
- NanoVis_GetPluginName – функция возвращает имя плагина
- NanoVis_SetWindow(AWnd: HWND) – процедура, задаёт окно для
вывода визуализации. Например: NanoVis_SetWindow(Panel1.Handle);
- NanoVis_SetChannel(AChannel: HStream) – процедура, задаёт канал
для обработки визуализацией.
Например:
Procedure Form1.FormCreate(Sender: TObject);
var
Channel: HStream;
begin
Channel:= Bass_StreamCreateFile(False,PWideChar(‘Play.mp3’),0,0,BASS_UNICODE);
NanoVis_SetChannel(Channel);
End;
Эта процедура должна вызываться постоянно после загрузки канала в память.
Ну вот собственно и всё, не правда ли всё довольно понятно и просто? Нежели
использовать библиотеки BassVis или BASS_SFX.
Скачать
|