Estoy intentando usar el comando play del paquete sox, para que reproduzca sonidos en mi aplicación.
El caso es que creo un proceso donde hago que se ejecute play con EXEC y no consigo saber cuando termina el proceso de ejecutarse.
Es una aplicación que habla y el problema es que en momentos se interfieren peticiones para que diga algo, y eso hace que no reproduzca algunas peticiones. La única solución que he encontrado hasta ahora es meter un wait de cierto tiempo, pero no es muy útil al ser frases de diferentes tamaños y que no conozco de antemano.
Me explico mejor con el código.
Public Reproducir As Process
Public Sub Hablar(texto As String)
Try Kill "/tmp/a.wav"
FMain.TxtAVoz.text = texto
Exec ["pico2wave", "-l", "es-ES", "-w", "/tmp/a.wav", "\"" & texto & "\""] To texto
Reproducir = Exec ["play", "/tmp/a.wav"]
Reproducirlo()
End
Public Sub Reproducirlo()
If Reproducir.Running Then 'Si está en ejecución, espero con el bucle
Reproducirlo()
Else
[color=#FF0000]"NUNCA ENTRA AQUÍ" [/color]
Endif