我正在尝试创建一个 MATLAB 程序来每隔几分钟一遍又一遍地播放声音。现在我将它设置为每隔几秒钟播放一次,只是为了消除系统中的一些错误。但是,当我的程序尝试重放声音时,我收到此错误:
??? Error using ==>
audioplayer.audioplayer>audioplayer.resume at 710
A given audio device may only be opened once.
Error in ==> audioplayer.play at 88
obj.resume();
Error in ==>
audiorecorder.audiorecorder>audiorecorder.play at
779
play(player, varargin{:})
Error in ==> Voice at 17
play(voice);
到目前为止,我的代码是这样的:
clc;
clear all;
clear main;
%File to play my voice to tell me to keep studying
voice = audiorecorder;
disp('Start speaking.');
recordblocking(voice, 3);
disp('DONE');
while i ~= 100;
pause(1);
play(voice);
i = 0;
end
基本上我的问题是有没有办法继续将我的同一个声音文件写入不同的名称,然后继续播放新文件?我想过制作一个矩阵,然后只使用“for”循环遍历它然后播放新文件,但我不知道如何从声音文件中制作一个矩阵。我可以使用不同的命令来代替“播放”让我继续播放吗?
编辑:现在对此进行更多研究,因为我从未在课堂上真正了解过这一点,但最好只创建一个包含我的声音的新文件,然后重复访问该文件?