Discusiones sobre Productos NI

cancelar
Mostrando los resultados de 
Buscar en lugar de 
Quiere decir: 

play sound con shared variable

Hola tengo un problema con un proyecto, uso una shared variable para trabajar con datos recibidos por el computador via el puerto serial, esta shared variable me indica si un boton es pulsado, el dato en forma de string recibido por el puerto serial lo fltro de manera de tener el nombre del boton pulsado que va a un case que tiene el nombre de los botones, dentro del case tengo el vi Sound Output Info VI, ahora cuando pulso el boton el sonido empieza a reproducirse pero se traba, es decir, el audio de mas o menos 1 segundo se repite varias veces antes de reproducirse normalmente toda la canción. Lo que he notado es que el task ID proveniente del Play Sound File VI  varia varias veces antes de fijarse y cuando se fija es que la canción se reproduce continuamente.

Deseo saber si hay una manera de fijar la task ID o ignorar los cambios hasta que se fije.

christianeins
0 kudos
Mensaje 1 de 4
2.776 Vistas

Hola Christian:

 

Parece que el problema es que se está ejecutando múltiples veces la VI Play Sound File, por eso hay varias Task IDs, genera una cada vez que se ejecuta. Para revisar esto puedes poner un break point justo antes de esta parte del código en tu diagrama de bloques, correr tu VI y utilizar el botón Start Single Stepping (En la barra de herramientas de LabVIEW) para ver paso a paso lo que se está ejecutando e identificar por qué se ejecuta varias veces Play Sound File.

 

¿Una vez que corre continuamente se oye sólo una instancia del archivo o se oyen varias superpuestas?

 

Espero el resultado de la prueba y tu respuesta para seguir con la solución del problema.

 

Saludos,

 

Juan Gil

NI México

0 kudos
Mensaje 2 de 4
2.767 Vistas

¿Puedes probar también si desconectando las condiciones de paro del While que no son la del Sound Output Info se presenta este problema?

 

Saludos,

 

Juan Gil

NI México

0 kudos
Mensaje 3 de 4
2.764 Vistas

Hola Juan gracias por tu ayuda.

La reproducción se repite varias veces, pero lo que se repite es el inicio de el sonido, pero despues de unas tres repeticiones el sonido empieza acorrer normalmente, hay ocaciones en que el sonido se treaba mas de tres veces o sea se queda medio minuto tartamudeando y luego automaticamente sigue reproduciendose. Ahora las condiciones de paro para el while son necesarias por el funcionamiento del programa que se necesita.

De lo que he leido el play sound file le indica al sound output info que task id debe usar pero eso solo una vez, no varias veces y cada vez con un valor diferente. La forma de reproducir el sonido la he copiado y la he ejecutado por software, con un boolean control y ahi la ejecución es inmediata y no se produce el problema.

El problema radica creo en el uso de la variable compartida y todo lo que conlleva asu uso talves por eso no puede empezar a ejecutarse la tarea de la reproducción del sonido hasta que se terminen procesos internos, bueno eso creo.

Agradecería mucho que me ayudes con esto.

christianeins
0 kudos
Mensaje 4 de 4
2.756 Vistas