Das C-Interface wäre das sinnvollste. Ich habe hier mal das allernotwendigste generiert und ein Beispiel hinzugefügt.
Den Rest wirste wohl selber erledigen müssen, sind ne menge Strukturen und Konstanten usw.
Code: Alles auswählen
;==========================================================================
; Generated with PureDLLHelper, Copyright ©2012 by Thomas <ts-soft> Schulz
;==========================================================================
Prototype CreateZPlay()
Prototype zplay_AddFile(a, b, c)
Prototype zplay_AddFileW(a, b, c)
Prototype zplay_Close(a)
Prototype zplay_CreateZPlay()
Prototype zplay_DestroyZPlay(a)
Prototype zplay_DetectBPM(a, b)
Prototype zplay_DetectFileBPM(a, b, c, d)
Prototype zplay_DetectFileBPMW(a, b, c, d)
Prototype zplay_DrawFFTGraphOnHDC(a, b, c, d, e, f)
Prototype zplay_DrawFFTGraphOnHWND(a, b, c, d, e, f)
Prototype zplay_EnableEcho(a, b)
Prototype zplay_EnableEqualizer(a, b)
Prototype zplay_EnumerateWaveOut(a)
Prototype zplay_GetBitrate(a, b)
Prototype zplay_GetDynamicStreamLoad(a, b)
Prototype zplay_GetEchoParam(a, b, c)
Prototype zplay_GetEqualizerBandGain(a, b)
Prototype zplay_GetEqualizerParam(a, b, c, d)
Prototype zplay_GetEqualizerPoints(a, b, c)
Prototype zplay_GetEqualizerPreampGain(a)
Prototype zplay_GetError(a)
Prototype zplay_GetErrorW(a)
Prototype zplay_GetFFTData(a, b, c, d, e, f, g, h, i)
Prototype zplay_GetFFTGraphParam(a, b)
Prototype zplay_GetFileFormat(a, b)
Prototype zplay_GetFileFormatW(a, b)
Prototype zplay_GetMasterVolume(a, b, c)
Prototype zplay_GetPitch(a)
Prototype zplay_GetPlayerVolume(a, b, c)
Prototype zplay_GetPosition(a, b)
Prototype zplay_GetRate(a)
Prototype zplay_GetSettings(a, b)
Prototype zplay_GetStatus(a, b)
Prototype zplay_GetStreamInfo(a, b)
Prototype zplay_GetStreamInfoW(a, b)
Prototype zplay_GetTempo(a)
Prototype zplay_GetVUData(a, b, c)
Prototype zplay_GetVersion(a)
Prototype zplay_GetWaveOutInfo(a, b, c)
Prototype zplay_GetWaveOutInfoW(a, b, c)
Prototype zplay_IsStreamDataFree(a, b)
Prototype zplay_LoadFileID3(a, b, c, d, e)
Prototype zplay_LoadFileID3W(a, b, c, d, e)
Prototype zplay_LoadID3(a, b, c)
Prototype zplay_LoadID3W(a, b, c)
Prototype zplay_MixChannels(a, b, c, d)
Prototype zplay_OpenFile(a, b, c)
Prototype zplay_OpenFileW(a, b, c)
Prototype zplay_OpenStream(a, b, c, d, e, f)
Prototype zplay_Pause(a)
Prototype zplay_Play(a)
Prototype zplay_PlayLoop(a, b, c, d, e, f, g)
Prototype zplay_PushDataToStream(a, b, c)
Prototype zplay_Resume(a)
Prototype zplay_ReverseMode(a, b)
Prototype zplay_Seek(a, b, c, d)
Prototype zplay_SetCallbackFunc(a, b, c, d)
Prototype zplay_SetEchoParam(a, b, c)
Prototype zplay_SetEqualizerBandGain(a, b, c)
Prototype zplay_SetEqualizerParam(a, b, c, d)
Prototype zplay_SetEqualizerPoints(a, b, c)
Prototype zplay_SetEqualizerPreampGain(a, b)
Prototype zplay_SetFFTGraphParam(a, b, c)
Prototype zplay_SetMasterVolume(a, b, c)
Prototype zplay_SetPitch(a, b)
Prototype zplay_SetPlayerVolume(a, b, c)
Prototype zplay_SetRate(a, b)
Prototype zplay_SetSettings(a, b, c)
Prototype zplay_SetTempo(a, b)
Prototype zplay_SetWaveOutDevice(a, b)
Prototype zplay_SlideVolume(a, b, c, d, e, f, g, h, i)
Prototype zplay_StereoCut(a, b, c, d)
Prototype zplay_Stop(a)
Prototype zplay_memcpy(a, b, c)
Prototype zplay_memmove(a, b, c)
Prototype zplay_memset(a, b, c)
Prototype zplay_strcpy(a, b)
Prototype zplay_strlen(a)
Prototype zplay_wcscpy(a, b)
Prototype zplay_wcslen(a)
Prototype zplay_LoadID3Ex(a, b, c)
Prototype zplay_LoadID3ExW(a, b, c)
Prototype zplay_LoadFileID3Ex(a, b, c, d, e)
Prototype zplay_LoadFileID3ExW(a, b, c, d, e)
Prototype zplay_DrawBitmapToHDC(a, b, c, d, e, f, g)
Prototype zplay_DrawBitmapToHWND(a, b, c, d, e, f, g)
Prototype zplay_EnumerateWaveIn(a)
Prototype zplay_GetWaveInInfo(a, b, c)
Prototype zplay_GetWaveInInfoW(a, b, c)
Prototype zplay_SetWaveInDevice(a, b)
Prototype zplay_SetWaveOutFile(a, b, c, d)
Prototype zplay_SetWaveOutFileW(a, b, c, d)
Global CreateZPlay.CreateZPlay
Global zplay_AddFile.zplay_AddFile
Global zplay_AddFileW.zplay_AddFileW
Global zplay_Close.zplay_Close
Global zplay_CreateZPlay.zplay_CreateZPlay
Global zplay_DestroyZPlay.zplay_DestroyZPlay
Global zplay_DetectBPM.zplay_DetectBPM
Global zplay_DetectFileBPM.zplay_DetectFileBPM
Global zplay_DetectFileBPMW.zplay_DetectFileBPMW
Global zplay_DrawFFTGraphOnHDC.zplay_DrawFFTGraphOnHDC
Global zplay_DrawFFTGraphOnHWND.zplay_DrawFFTGraphOnHWND
Global zplay_EnableEcho.zplay_EnableEcho
Global zplay_EnableEqualizer.zplay_EnableEqualizer
Global zplay_EnumerateWaveOut.zplay_EnumerateWaveOut
Global zplay_GetBitrate.zplay_GetBitrate
Global zplay_GetDynamicStreamLoad.zplay_GetDynamicStreamLoad
Global zplay_GetEchoParam.zplay_GetEchoParam
Global zplay_GetEqualizerBandGain.zplay_GetEqualizerBandGain
Global zplay_GetEqualizerParam.zplay_GetEqualizerParam
Global zplay_GetEqualizerPoints.zplay_GetEqualizerPoints
Global zplay_GetEqualizerPreampGain.zplay_GetEqualizerPreampGain
Global zplay_GetError.zplay_GetError
Global zplay_GetErrorW.zplay_GetErrorW
Global zplay_GetFFTData.zplay_GetFFTData
Global zplay_GetFFTGraphParam.zplay_GetFFTGraphParam
Global zplay_GetFileFormat.zplay_GetFileFormat
Global zplay_GetFileFormatW.zplay_GetFileFormatW
Global zplay_GetMasterVolume.zplay_GetMasterVolume
Global zplay_GetPitch.zplay_GetPitch
Global zplay_GetPlayerVolume.zplay_GetPlayerVolume
Global zplay_GetPosition.zplay_GetPosition
Global zplay_GetRate.zplay_GetRate
Global zplay_GetSettings.zplay_GetSettings
Global zplay_GetStatus.zplay_GetStatus
Global zplay_GetStreamInfo.zplay_GetStreamInfo
Global zplay_GetStreamInfoW.zplay_GetStreamInfoW
Global zplay_GetTempo.zplay_GetTempo
Global zplay_GetVUData.zplay_GetVUData
Global zplay_GetVersion.zplay_GetVersion
Global zplay_GetWaveOutInfo.zplay_GetWaveOutInfo
Global zplay_GetWaveOutInfoW.zplay_GetWaveOutInfoW
Global zplay_IsStreamDataFree.zplay_IsStreamDataFree
Global zplay_LoadFileID3.zplay_LoadFileID3
Global zplay_LoadFileID3W.zplay_LoadFileID3W
Global zplay_LoadID3.zplay_LoadID3
Global zplay_LoadID3W.zplay_LoadID3W
Global zplay_MixChannels.zplay_MixChannels
Global zplay_OpenFile.zplay_OpenFile
Global zplay_OpenFileW.zplay_OpenFileW
Global zplay_OpenStream.zplay_OpenStream
Global zplay_Pause.zplay_Pause
Global zplay_Play.zplay_Play
Global zplay_PlayLoop.zplay_PlayLoop
Global zplay_PushDataToStream.zplay_PushDataToStream
Global zplay_Resume.zplay_Resume
Global zplay_ReverseMode.zplay_ReverseMode
Global zplay_Seek.zplay_Seek
Global zplay_SetCallbackFunc.zplay_SetCallbackFunc
Global zplay_SetEchoParam.zplay_SetEchoParam
Global zplay_SetEqualizerBandGain.zplay_SetEqualizerBandGain
Global zplay_SetEqualizerParam.zplay_SetEqualizerParam
Global zplay_SetEqualizerPoints.zplay_SetEqualizerPoints
Global zplay_SetEqualizerPreampGain.zplay_SetEqualizerPreampGain
Global zplay_SetFFTGraphParam.zplay_SetFFTGraphParam
Global zplay_SetMasterVolume.zplay_SetMasterVolume
Global zplay_SetPitch.zplay_SetPitch
Global zplay_SetPlayerVolume.zplay_SetPlayerVolume
Global zplay_SetRate.zplay_SetRate
Global zplay_SetSettings.zplay_SetSettings
Global zplay_SetTempo.zplay_SetTempo
Global zplay_SetWaveOutDevice.zplay_SetWaveOutDevice
Global zplay_SlideVolume.zplay_SlideVolume
Global zplay_StereoCut.zplay_StereoCut
Global zplay_Stop.zplay_Stop
Global zplay_memcpy.zplay_memcpy
Global zplay_memmove.zplay_memmove
Global zplay_memset.zplay_memset
Global zplay_strcpy.zplay_strcpy
Global zplay_strlen.zplay_strlen
Global zplay_wcscpy.zplay_wcscpy
Global zplay_wcslen.zplay_wcslen
Global zplay_LoadID3Ex.zplay_LoadID3Ex
Global zplay_LoadID3ExW.zplay_LoadID3ExW
Global zplay_LoadFileID3Ex.zplay_LoadFileID3Ex
Global zplay_LoadFileID3ExW.zplay_LoadFileID3ExW
Global zplay_DrawBitmapToHDC.zplay_DrawBitmapToHDC
Global zplay_DrawBitmapToHWND.zplay_DrawBitmapToHWND
Global zplay_EnumerateWaveIn.zplay_EnumerateWaveIn
Global zplay_GetWaveInInfo.zplay_GetWaveInInfo
Global zplay_GetWaveInInfoW.zplay_GetWaveInInfoW
Global zplay_SetWaveInDevice.zplay_SetWaveInDevice
Global zplay_SetWaveOutFile.zplay_SetWaveOutFile
Global zplay_SetWaveOutFileW.zplay_SetWaveOutFileW
Procedure.i libzplay_LoadDLL()
Protected hDLL.i
hDLL = OpenLibrary(#PB_Any, "libzplay.dll")
If hDLL <> 0
CreateZPlay = GetFunction(hDLL, "CreateZPlay")
zplay_AddFile = GetFunction(hDLL, "zplay_AddFile")
zplay_AddFileW = GetFunction(hDLL, "zplay_AddFileW")
zplay_Close = GetFunction(hDLL, "zplay_Close")
zplay_CreateZPlay = GetFunction(hDLL, "zplay_CreateZPlay")
zplay_DestroyZPlay = GetFunction(hDLL, "zplay_DestroyZPlay")
zplay_DetectBPM = GetFunction(hDLL, "zplay_DetectBPM")
zplay_DetectFileBPM = GetFunction(hDLL, "zplay_DetectFileBPM")
zplay_DetectFileBPMW = GetFunction(hDLL, "zplay_DetectFileBPMW")
zplay_DrawFFTGraphOnHDC = GetFunction(hDLL, "zplay_DrawFFTGraphOnHDC")
zplay_DrawFFTGraphOnHWND = GetFunction(hDLL, "zplay_DrawFFTGraphOnHWND")
zplay_EnableEcho = GetFunction(hDLL, "zplay_EnableEcho")
zplay_EnableEqualizer = GetFunction(hDLL, "zplay_EnableEqualizer")
zplay_EnumerateWaveOut = GetFunction(hDLL, "zplay_EnumerateWaveOut")
zplay_GetBitrate = GetFunction(hDLL, "zplay_GetBitrate")
zplay_GetDynamicStreamLoad = GetFunction(hDLL, "zplay_GetDynamicStreamLoad")
zplay_GetEchoParam = GetFunction(hDLL, "zplay_GetEchoParam")
zplay_GetEqualizerBandGain = GetFunction(hDLL, "zplay_GetEqualizerBandGain")
zplay_GetEqualizerParam = GetFunction(hDLL, "zplay_GetEqualizerParam")
zplay_GetEqualizerPoints = GetFunction(hDLL, "zplay_GetEqualizerPoints")
zplay_GetEqualizerPreampGain = GetFunction(hDLL, "zplay_GetEqualizerPreampGain")
zplay_GetError = GetFunction(hDLL, "zplay_GetError")
zplay_GetErrorW = GetFunction(hDLL, "zplay_GetErrorW")
zplay_GetFFTData = GetFunction(hDLL, "zplay_GetFFTData")
zplay_GetFFTGraphParam = GetFunction(hDLL, "zplay_GetFFTGraphParam")
zplay_GetFileFormat = GetFunction(hDLL, "zplay_GetFileFormat")
zplay_GetFileFormatW = GetFunction(hDLL, "zplay_GetFileFormatW")
zplay_GetMasterVolume = GetFunction(hDLL, "zplay_GetMasterVolume")
zplay_GetPitch = GetFunction(hDLL, "zplay_GetPitch")
zplay_GetPlayerVolume = GetFunction(hDLL, "zplay_GetPlayerVolume")
zplay_GetPosition = GetFunction(hDLL, "zplay_GetPosition")
zplay_GetRate = GetFunction(hDLL, "zplay_GetRate")
zplay_GetSettings = GetFunction(hDLL, "zplay_GetSettings")
zplay_GetStatus = GetFunction(hDLL, "zplay_GetStatus")
zplay_GetStreamInfo = GetFunction(hDLL, "zplay_GetStreamInfo")
zplay_GetStreamInfoW = GetFunction(hDLL, "zplay_GetStreamInfoW")
zplay_GetTempo = GetFunction(hDLL, "zplay_GetTempo")
zplay_GetVUData = GetFunction(hDLL, "zplay_GetVUData")
zplay_GetVersion = GetFunction(hDLL, "zplay_GetVersion")
zplay_GetWaveOutInfo = GetFunction(hDLL, "zplay_GetWaveOutInfo")
zplay_GetWaveOutInfoW = GetFunction(hDLL, "zplay_GetWaveOutInfoW")
zplay_IsStreamDataFree = GetFunction(hDLL, "zplay_IsStreamDataFree")
zplay_LoadFileID3 = GetFunction(hDLL, "zplay_LoadFileID3")
zplay_LoadFileID3W = GetFunction(hDLL, "zplay_LoadFileID3W")
zplay_LoadID3 = GetFunction(hDLL, "zplay_LoadID3")
zplay_LoadID3W = GetFunction(hDLL, "zplay_LoadID3W")
zplay_MixChannels = GetFunction(hDLL, "zplay_MixChannels")
zplay_OpenFile = GetFunction(hDLL, "zplay_OpenFile")
zplay_OpenFileW = GetFunction(hDLL, "zplay_OpenFileW")
zplay_OpenStream = GetFunction(hDLL, "zplay_OpenStream")
zplay_Pause = GetFunction(hDLL, "zplay_Pause")
zplay_Play = GetFunction(hDLL, "zplay_Play")
zplay_PlayLoop = GetFunction(hDLL, "zplay_PlayLoop")
zplay_PushDataToStream = GetFunction(hDLL, "zplay_PushDataToStream")
zplay_Resume = GetFunction(hDLL, "zplay_Resume")
zplay_ReverseMode = GetFunction(hDLL, "zplay_ReverseMode")
zplay_Seek = GetFunction(hDLL, "zplay_Seek")
zplay_SetCallbackFunc = GetFunction(hDLL, "zplay_SetCallbackFunc")
zplay_SetEchoParam = GetFunction(hDLL, "zplay_SetEchoParam")
zplay_SetEqualizerBandGain = GetFunction(hDLL, "zplay_SetEqualizerBandGain")
zplay_SetEqualizerParam = GetFunction(hDLL, "zplay_SetEqualizerParam")
zplay_SetEqualizerPoints = GetFunction(hDLL, "zplay_SetEqualizerPoints")
zplay_SetEqualizerPreampGain = GetFunction(hDLL, "zplay_SetEqualizerPreampGain")
zplay_SetFFTGraphParam = GetFunction(hDLL, "zplay_SetFFTGraphParam")
zplay_SetMasterVolume = GetFunction(hDLL, "zplay_SetMasterVolume")
zplay_SetPitch = GetFunction(hDLL, "zplay_SetPitch")
zplay_SetPlayerVolume = GetFunction(hDLL, "zplay_SetPlayerVolume")
zplay_SetRate = GetFunction(hDLL, "zplay_SetRate")
zplay_SetSettings = GetFunction(hDLL, "zplay_SetSettings")
zplay_SetTempo = GetFunction(hDLL, "zplay_SetTempo")
zplay_SetWaveOutDevice = GetFunction(hDLL, "zplay_SetWaveOutDevice")
zplay_SlideVolume = GetFunction(hDLL, "zplay_SlideVolume")
zplay_StereoCut = GetFunction(hDLL, "zplay_StereoCut")
zplay_Stop = GetFunction(hDLL, "zplay_Stop")
zplay_memcpy = GetFunction(hDLL, "zplay_memcpy")
zplay_memmove = GetFunction(hDLL, "zplay_memmove")
zplay_memset = GetFunction(hDLL, "zplay_memset")
zplay_strcpy = GetFunction(hDLL, "zplay_strcpy")
zplay_strlen = GetFunction(hDLL, "zplay_strlen")
zplay_wcscpy = GetFunction(hDLL, "zplay_wcscpy")
zplay_wcslen = GetFunction(hDLL, "zplay_wcslen")
zplay_LoadID3Ex = GetFunction(hDLL, "zplay_LoadID3Ex")
zplay_LoadID3ExW = GetFunction(hDLL, "zplay_LoadID3ExW")
zplay_LoadFileID3Ex = GetFunction(hDLL, "zplay_LoadFileID3Ex")
zplay_LoadFileID3ExW = GetFunction(hDLL, "zplay_LoadFileID3ExW")
zplay_DrawBitmapToHDC = GetFunction(hDLL, "zplay_DrawBitmapToHDC")
zplay_DrawBitmapToHWND = GetFunction(hDLL, "zplay_DrawBitmapToHWND")
zplay_EnumerateWaveIn = GetFunction(hDLL, "zplay_EnumerateWaveIn")
zplay_GetWaveInInfo = GetFunction(hDLL, "zplay_GetWaveInInfo")
zplay_GetWaveInInfoW = GetFunction(hDLL, "zplay_GetWaveInInfoW")
zplay_SetWaveInDevice = GetFunction(hDLL, "zplay_SetWaveInDevice")
zplay_SetWaveOutFile = GetFunction(hDLL, "zplay_SetWaveOutFile")
zplay_SetWaveOutFileW = GetFunction(hDLL, "zplay_SetWaveOutFileW")
ProcedureReturn hDLL
EndIf
ProcedureReturn #False
EndProcedure
#sfMp3 = 1
; beispiel
Define hZPlay
Define File.s = "d:\Dateien\Musik\ac_dc\acdc - back in black (ultimix remix).mp3"
If libzplay_LoadDLL()
hZPlay = CreateZPlay()
If hZPlay
If zplay_OpenFile(hZPlay, @File, #sfMp3)
zplay_Play(hZPlay)
EndIf
MessageRequester("", "")
zplay_DestroyZPlay(hZPlay)
EndIf
EndIf