LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Audio recorder

I'm working on an audio recorder, but I have some concerns.

The project allows me to set the recording time that you specified in the N times running the FOR structure.

 

However the recording time becomes half the set.

I also would like to introduce an option that allows stop recording before reaching the set time; as well as also an option to pause the recording.

0 Kudos
Message 1 of 4
(3,043 Views)

Can you explain what you mean by the recording time becomes half the set?  From the looks of your VI, you prompt the user to write the length they want to record for in hh:mm:ss then you take the seconds and input that into the loop count of the for loop so I am not really sure what you are trying to do.

 

If you want to end the recording prematurely you can right click your for loop and add a conditional terminal.

Matt J | National Instruments | CLA
0 Kudos
Message 2 of 4
(3,035 Views)

Hi, thanks for your response. 

 

sorry I did not explain well, 

Once the recording time is set, as I can make it right, for example if I want to record 20 seconds, can be recorded only nine seconds.

Also when I am running the program to record 20 seconds for example, I want to implement a button to allow the program to stop before reaching the 20 seconds, but in my project does not work.

0 Kudos
Message 3 of 4
(3,021 Views)

Que tal abraren,

 

Estuve revisando tu código y me gustaría realizar la siguiente recomendación: tu tienes un ciclo for que por ejemplo se ejecuta dependiendo de la información que ingrese el usuario. Supongamos que colocamos 20 segundos, ese valor númerico configura el ciclo for para que se ejecute 20 veces. Sin embargo el ciclo for no se encuentra temporizado, por lo tanto cuando el código se ejecuta, tu observas que se hicieron las 20 iteraciones pero esas mismas solamente tardaron alrededor de 9 segundos.

 

Aquí te recomiendo que cambies el ciclo for por un ciclo While. El ciclo while tiene una terminal de condición que define el momento en el que se sale del ciclo. En esta terminal de condición podrías hacer una comparación del tiempo que ha transcurrido, en tu código observo que estas utilizando la función "Get Date Time in Seconds" con la cual estas monitoreando el tiempo que ha transcurrido. Utiliza este resultados para monitorear el tiempo y compararlo con la información que previamente ingreso el usuario.

 

Ahora de la misma manera, para poder detener el ciclo de grabación en cualquier momento simplemente presionando un botón, eso lo puedes hacer mediante una operación booleana "OR" ligada a la terminal de condición del ciclo WHile, ya sea que el usuario presione el botón de detener en la interfaz de usuario o se cumplió el tiempo especificado.

 

Espero esta información te sea de utilidad y mucho éxito en el desarrollo de tus aplicaciones.


Saludos!

Antonio S.
Applications Engineer - NI Mexico
0 Kudos
Message 4 of 4
(2,986 Views)