BASSMOD.dll -Funktionen mit autoit ?

  • hi ich möchte mit Hilfe einer dll mod-musik-datein abspielen - nur komm ich da nicht weiter wie ich das mit DllCalls mache und wie da die Parameter sein müssen -.-

    im Anhang ist die dll und die Dokumentation dazu plus eine mod-datei

    [autoit]


    $file = @Scriptdir&"pizza.mod"

    [/autoit][autoit][/autoit][autoit]

    $dll = DllOpen ( @Scriptdir&"BASSMOD.dll" )
    $init = DllCall ($dll, "int", "BASSMOD_Init", -1, "long", 44100, "long", 0, "long")
    $load = DllCall ($dll, "int", "BASSMOD_MusicLoad", $file, 0, "long", 0, "long", 2, "long")
    $play = DllCall ($dll, "int", "BASSMOD_MusicPlay")

    [/autoit]

    ein Ansatz ka wie es sein muss

    ach ja hier wäre noch ein vb code dazu:

    Spoiler anzeigen

    wäre net wenn mir jemand zeigen würde wie das funktioniert - thx im voraus

  • Beispiel, getestet mit AI 3.2.2.0 und 3.2.4.9:

    Spoiler anzeigen
    [autoit]


    Global Const $BASS_UNICODE = 0x80000000

    [/autoit] [autoit][/autoit] [autoit]

    Global $hBassModDll = DllOpen(@ScriptDir & "\bassmod.dll")
    Dim $sModFile = @ScriptDir & "\pizza.mod"

    [/autoit] [autoit][/autoit] [autoit]

    If BASSMOD_Init(-1, 44100, 0) Then
    If BASSMOD_MusicLoad(0, $sModFile, 0, 0, $BASS_UNICODE) Then
    BASSMOD_MusicPlay()
    Sleep(500)
    EndIf
    BASSMOD_Free()
    EndIf

    [/autoit] [autoit][/autoit] [autoit]

    DllClose($hBassModDll)

    [/autoit] [autoit][/autoit] [autoit]

    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func BASSMOD_Init($iDevice, $dwFreq, $dwFlags)
    Local $bResult = DllCall($hBassModDll, "int", "BASSMOD_Init", _
    "int", $iDevice, _
    "dword", $dwFreq, _
    "dword", $dwFlags)
    Return $bResult[0]
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func BASSMOD_MusicLoad($bMem, $File, $dwOffset, $dwLength, $dwFlags)
    Local $bResult = DllCall($hBassModDll, "int", "BASSMOD_MusicLoad", _
    "int", $bMem, _
    "wstr", $File, _
    "dword", $dwOffset, _
    "dword", $dwLength, _
    "dword", $dwFlags)
    Return $bResult[0]
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func BASSMOD_MusicPlay()
    Local $bResult = DllCall($hBassModDll, "int", "BASSMOD_MusicPlay")
    Return $bResult[0]
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func BASSMOD_Free()
    DllCall($hBassModDll, "none", "BASSMOD_Free")
    EndFunc

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func BASSMOD_ErrorGetCode()
    Local $dwResult = DllCall($hBassModDll, "dword", "BASSMOD_ErrorGetCode")
    Return $dwResult[0]
    EndFunc

    [/autoit]

    Gruß Holger

    P.S.: is lange her, dass ich noch auf meinem AMIGA600 (der übrigens noch im Keller liegt ;) ) mit ProTracker rumgwerkelt habe...

    Einmal editiert, zuletzt von HolgerK (26. Mai 2007 um 21:35)