audiorecorderのcallback関数
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
recordの例に習って下のように10秒録音するプログラムを書いたのですが、明らかに10秒立たずにStopFcnが始動しました。StopFcnとはrecordが終わって呼び出される関数と言う認識は違うのでしょうか?
function Record0()
Fs = 44100;
T = 10;
sound = audiorecorder(Fs, 8, 1, 0);
sound.StartFcn = 'disp("Start recording.")';
sound.StopFcn = 'disp("Stop recording.")';
record(sound, T);
end
0 comentarios
Respuestas (1)
Shoumei
el 2 de Dic. de 2019
10秒ってどうやって測りました?
正確性を期するため、tic, tocという関数を使ってstart/stop間の時間を計測してみました。
s1 = audiorecorder(Fs, 8, 1, 0);
s1.StartFcn = 'tic,disp("Start recording.")';
s1.StopFcn = 'disp("Stop recording.");toc';
record(s1, T);
経過時間は 10.580585 秒です。
経過時間は 10.463242 秒です。
と、2回の実行は概ね10秒程度で終わっています。(表示などのオーバーヘッドがあるので10秒ちょっとかかります。)
また、s1.TotalSamplesを確認してみましたが、10秒間のサンプル数である441000サンプルのデータが取得できていました。
余談ですが、soundという関数があって競合するので、これを変数にするのは適切ではありません。s1に変更しました。
0 comentarios
Ver también
Categorías
Más información sobre オーディオとビデオ en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!