Всем привет!
Цитата MKN:
Если речь о звуке, то можно попробовать bass.dll. По моему, это самый лучший вариант для воспр. звука в NSIS »
|
А вы можете привести пример сценария с использованием этой библиотеки? Например, чтобы звучала фоновая музыка. У меня не получается создать рабочий код. Вот как делаю я (пример):
Код:
XPStyle on
Name "Test"
OutFile "TestBass.exe"
Caption "Test Bass"
BrandingText 'Test'
!include "MUI2.nsh"
InstallDir "$EXEDIR"
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "English"
Section "OGG"
SectionEnd
Function .onInit
InitPluginsDir
File /oname=$PLUGINSDIR\BASS.dll BASS.dll
File /oname=$PLUGINSDIR\mymusic.ogg mymusic.ogg
StrCpy $R5 "$PLUGINSDIR\mymusic.ogg"
; Инициализация
System::Call '$PLUGINSDIR\BASS::BASS_Init(i -1,i 44100,i 0,i 0,i 0)'
; Создание файлового потока
System::Call '$PLUGINSDIR\BASS::BASS_StreamCreateFile(i 0,t R5,i 0,i 0,i 4)'
; Воспроизведение канала
System::Call '$PLUGINSDIR\BASS::BASS_ChannelPlay(i 0, i 0)'
FunctionEnd
Function .onGUIEnd
System::Call '$PLUGINSDIR\BASS::BASS_ChannelStop()'
System::Call '$PLUGINSDIR\BASS::BASS_StreamFree()'
System::Call '$PLUGINSDIR\BASS::BASS_Free()'
FunctionEnd
Но звук не воспроизводится. Если честно я не совсем понял, как правильно надо использовать вызовы из сторонних DLL в NSIS, что нужно писать и откуда брать данные, которые нужно указывать в скобках вызова функций.
Спасибо.