我是matlab的新手。我正在使用以下代码在wav文件中记录micro的声音:
AR = dsp.AudioRecorder('OutputNumOverrunSamples',true);
audiofile='test.wav';
nbsec=10;
AFW = dsp.AudioFileWriter(audiofile,'FileFormat', 'WAV');
disp('Recording starts now');
tic;
while toc < nbsec,
[audioIn,nOverrun] = step(AR);
[x, indexMax] = max(abs(fft(audioIn(:,1)-mean(audioIn(:,1)))));
step(AFW,audioIn);
if nOverrun > 0
fprintf('Audio recorder queue was overrun by %d samples\n',nOverrun);
end
end
release(AR);
release(AFW);
disp('Recording done!');
它有效,但问题是我不知道我应该记录多长时间而不是使用时间限制(使用tic toc),我希望能够通过按下完成录制'f'按钮。但我不知道如何在matlab中实现它。
非常感谢!