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"
$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")
ein Ansatz ka wie es sein muss
ach ja hier wäre noch ein vb code dazu:
Spoiler anzeigen
Code
Private Declare Function GetSystemDirectoryA Lib "kernel32" (ByVal lpBuffer As String, ByVal nSize As Long) As Long
Private Declare Function GetTempPathA Lib "kernel32" (ByVal nSize As Long, ByVal lpBuffer As String) As Long
Private Declare Function BASSMOD_Init Lib "bassmod.dll" (ByVal device As Long, ByVal freq As Long, ByVal flags As Long) As Integer
Private Declare Function BASSMOD_MusicLoad Lib "bassmod.dll" (ByVal mem As Integer, ByVal pfile As Any, ByVal offset As Long, ByVal Length As Long, _
ByVal flags As Long) As Integer
Private Declare Function BASSMOD_MusicPlay Lib "bassmod.dll" () As Integer
Private Declare Function BASSMOD_MusicStop Lib "bassmod.dll" () As Integer
Private Declare Sub BASSMOD_Free Lib "bassmod.dll" ()
Dim Temp As String
Dim X As Long
Dim TempPfad As String
Dim SystemPfad As String
Private Sub Form_Load()
'Liest das System32-Verzeichnis aus
Temp = Space$(255)
X = GetSystemDirectoryA(Temp, Len(Temp))
SystemPfad = Left(Temp, X)
'Liest das Temp-Verzeichnis aus
Temp = Space$(255)
X = GetTempPathA(Len(Temp), Temp)
TempPfad = Left(Temp, X)
'Beide Dateien aus den Ressourcen erstellen
CreateFileFromRessource 101, SystemPfad & "\bassmod.dll"
CreateFileFromRessource 102, TempPfad & "moontrip.mod"
'Bassmod initialisieren und MOD laden + abspielen
BASSMOD_Init -1, 44100, 0
BASSMOD_MusicLoad 0, TempPfad & "moontrip.mod", 0, 0, 2 Or 512
BASSMOD_MusicPlay
End Sub
Public Function CreateFileFromRessource(ID As Integer, FileName As String)
Dim DataArray() As Byte
DataArray = LoadResData(ID, "CUSTOM") 'Ressource in Array laden
Open FileName For Binary As #1 'Datei im Binärformat öffnen/erstellen
Put #1, , DataArray 'Und Bytes schreiben
Close #1
Erase DataArray
End Function
Alles anzeigen
wäre net wenn mir jemand zeigen würde wie das funktioniert - thx im voraus