vb6: PlaySoundData
lima-city → Forum → Programmiersprachen → Basic
aufruf
byte
code
datei
fehler
flag
frage
header
jemand
klappen
mache
prinzip
re
riff
spiel
string
tag
tun
type
wiedergabe
-
Hallo,
heute mal ein etwas fortgeschrittenetag/re">res Thema. Ich spiele grade ein wenig mit RIFF-Wave-Dateien rum. Ich habe mich da ein wenig in das Prinzip rein gelesen und habe denke ich die Datei schon recht passabel eingelesen. Nun fehlt nur noch die Wiedergabe, was nicht so ganz klappen will. Nun habe ich nach einigem suchen den API-Aufruf namens "PlaySoundData" gefunden, welcher wohl so ziemlich das tun soll, was ich haben will. Das Problem ist: Es tut sich nichts.
Die Frage ist nun: Wo mache ich den Fehler? Hierzu meine bisherige "Arbeit":
Die Dateitypen:Public Type t_Header chunkID As String * 4 FileSize As Long riffType As String * 4 End Type Public Type t_Fmt sig As String * 4 length As Long tag As Integer channels As Integer sampleRate As Long bytesPerSecond As Long blockAlign As Integer bitsPerSample As Integer End Type Public Type t_data sig As String * 4 length As Long data() As Byte End Type
Und die Funktionen:Private Declare Function PlaySoundData Lib "winmm.dll" Alias "PlaySoundA" (lpData As Any, ByVal hModule As Long, ByVal dwFlags As Long) As Long Public Sub OpenFile(FileName As String) Dim FileNr As Long, res As Long Dim header As t_Header, fmt As t_Fmt, data As t_data FileNr = FreeFile Open FileName For Binary Access Read As FileNr Get #FileNr, , header Get #FileNr, , fmt Get #FileNr, , data.sig Get #FileNr, , data.length ReDim data.data(0 To data.length) Get #FileNr, , data.data Close FileNr res = PlayWavData(data.data, &H1) End Sub Function PlayWavData(ByRef WaveData() As Byte, ByVal flag As Long) As Long On Error Resume Next Dim ret As Long Const SND_MEMORY = &H4 ret = PlaySoundData(WaveData(LBound(WaveData)), 1, SND_MEMORY Or flag) End Function
Falls da jemand den Fehler sieht, bitte ich doch um Aufklärung. Ich wäre sehr dankbar :)
Beitrag zuletzt geändert: 17.5.2010 11:31:33 von nerdinator -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage