How to use recordblocking for an infinite interval?

1 次查看(过去 30 天)
I need to record an audio until I stop the recording (using a button or something), do you know how to do it?

回答(1 个)

Geoff Hayes
Geoff Hayes 2021-10-28
@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 个评论
Marie Kate Palau
Marie Kate Palau 2021-10-28
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 2021-10-28
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);

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by