Cuestión : ¿Cómo paro una llamada de PlaySound que continúe salida fuera de la lógica del programa que la llamó?

Debajo de código ejecuta correctamente hasta el 1r caso que debe producir el sonido.  Ésa es la 12ma barra del 5to ciclo.  El problema es que una vez que el sonido se llama la 1ra vez… continúa sonando cada barra después de eso, aunque las demostraciones del código él son claramente un un rato event.

For C = 1 al iCycStart de CycPhase
= (iCycEnd de AncDyBar + de 1)
= (AncDyBar + (CycLength - 1)) pBarCnt del
= el
del ************** de la secuencia después I del *********** de 0
“para i = iCycStart al pBarCnt del iCycEnd
= al pBarCnt + a 1
” PlayNow = PlaySound (falta de información, 0, 0) 'comentó hacia fuera porque no lo hace el work
si pBarCnt = 12 Then
v1 (z1, i) = la barra (2, i) el
si C = 5 entonces el '5to cycle
PlayNow = el i
AncDyBar = i
C

I de If
del final de If
del final del
de PlaySound (A, p, SND_FILENAME o SND_ASYNC o SND_NOWAIT) ha intentado SndPurge y la cadena nula como se muestra comentó hacia fuera arriba.  La cadena nula para el DLL del trabajo en conjunto y el SndPurge no hace nada… y nada para una llamada de repetición al archivo del wav.  Debajo está la información adicional a help.

Public declara que liberación la sana “winmm.dll nombre SND_FILENAME del _
de PlaySound de la función = &H20000” del _
alias “PlaySoundA” (lpszName de ByVal como secuencia, hModule del _
ByVal como de largo, dwFlags del _
ByVal como de largo) pues Long
Public Const 'es un
Public Const del nombre de fichero SND_ASYNC = &H1 'asynchronously
Public Const del juego SND_NOWAIT = &H2000 'no espera si el conductor es el busy
Public Const SND_PURGE = &H40

Thank 'de la parada (un wav más largo) usted, el
spc909
class= del

Respuesta : ¿Cómo paro una llamada de PlaySound que continúe salida fuera de la lógica del programa que la llamó?

sobre cómo

PlaySound (el vbNullString, 0, 0)
Otras soluciones  
 
programming4us programming4us