Filter löschen
Filter löschen

How to use recordblocking for an infinite interval?

1 Ansicht (letzte 30 Tage)
Marie Kate Palau
Marie Kate Palau am 28 Okt. 2021
Kommentiert: Walter Roberson am 28 Okt. 2021
I need to record an audio until I stop the recording (using a button or something), do you know how to do it?

Antworten (1)

Geoff Hayes
Geoff Hayes am 28 Okt. 2021
@Marie Kate Palau I don't think you want to use recordblocking since that would prevent you from stopping the recording after an unknown period of time. Try using record instead. I'm assuming that you have a GUI to start and stop the recording?
  4 Kommentare
Marie Kate Palau
Marie Kate Palau am 28 Okt. 2021
I'm not sure if I'm using it the way it should be, but it doesn't work as I expected, don't know if can you please check it just to notice what I'm doing wrong
clearvars;
myRecorder = audiorecorder(1000,16,1); % Crea el elemento de MATLAB para grabar audio
disp ("Hable ahora");
record(myRecorder);
% Graba durante 2 segundos
disp("Deje de hablar");
stop(myRecorder);
play(myRecorder);
audioArray=getaudiodata(myRecorder);
% Pone los datos de la grabación en un vector de MATLAB
plot(audioArray)
title('Visualizacion del Sonido','FontSize',16,'Interpreter','latex')
xlabel('Tiempo ($mseg$)','FontSize',14,'Interpreter','latex')
ylabel('Amplitud','FontSize',14,'Interpreter','latex')
set(gcf,'color','w')
set(gca,'FontSize',12,'TickLabelInterpreter','latex')
grid on
Walter Roberson
Walter Roberson am 28 Okt. 2021
Your code is stopping recording immediately after sending out the message 'Deje de hablar' .
Consider something like
record(myRecorder);
% Graba durante 2 segundos
menu("Deje de hablar", "para de grabar");
stop(myRecorder);

Melden Sie sich an, um zu kommentieren.

Kategorien

Mehr zu Graphics Objects finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by