Hejsan, Hej Hej e:a Hallåjs Sven, Run-time error '453': Testa en annan deklaration av sndPlaySoundALjud
undrar hur man gör för att spela upp ljud som sparats i en resource-file när t ex en tangent trycks ner i en textbox.
/e:aSv: Ljud
Detta exempel spelar ljud när du klickar i Text1.
Option Explicit
'Spela upp Ljud från Resource ATM_SOUND
Private Declare Function sndPlaySound Lib "WINMM.DLL" _
Alias "sndPlaySoundA" (ByVal lpszSoundName As Any, _
ByVal uFlags As Long) As Long
Const SND_ASYNC = &H1 ' Play asynchronously
Const SND_NODEFAULT = &H2 ' Don't use default sound
Const SND_MEMORY = &H4 ' lpszSoundName points to a memory file
Dim SoundBuffer As String
Sub BeginPlaySound(ByVal ResourceId As Integer)
Dim Ret As Long
'Important:The returned string is converted to Unicode
SoundBuffer = StrConv(LoadResData(ResourceId, _
"ATM_SOUND"), vbUnicode)
Ret = sndPlaySound(SoundBuffer, SND_ASYNC Or _
SND_NODEFAULT Or SND_MEMORY)
'Important:This function is neccessary for
'playing sound asynchronously
DoEvents
End Sub
Private Sub Text1_Click()
Call BeginPlaySound(16) '16 nummer på resource
End Sub
mvh
SvenSv: Ljud
Hur gick det sedan ???
Du är dålig på att ge "FeedBack" fick du ljudproblemmet att funka.
Undrande
SvenSv: Ljud
har tyvärr inte hunnit prova än, stängde av datorn inför helgen :-)
Men tack ändå.
/e:aSv: Ljud
Can't find dll entry point SndPlaySoundA in winmm.dll
Får följande felmeddelande........Sv: Ljud
<code>
Declare Function sndPlaySoundA Lib "winmm.dll" _
(ByVal lpszSoundName As String, ByVal uFlags As Long ) As Long
</code>
Du bör tänka på att detta anrop inte fungerar för WinNT4, men övriga windowsversioner går bra.