matlab - 继续在 Matlab 中一遍又一遍地播放声音?

标签 matlab playback audio repeat

我正在尝试创建一个 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”循环遍历它,然后播放新文件,但我不知道如何用声音文件制作矩阵。我可以使用其他命令来代替“播放”,让我继续播放它吗?

编辑:现在对此进行更多研究,因为我从未在类里面真正了解过这一点,但最好只创建一个包含我的声音的新文件,然后重复访问文件?

最佳答案

关于您发布的代码,我认为问题在于您只pause(1),我怀疑它比声音短,所以您尝试play(voice) > 当它仍在播放上一个循环时。使用 playblocking 而不是 play 因为这应该停止循环,直到声音结束。

关于matlab - 继续在 Matlab 中一遍又一遍地播放声音?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16226309/

相关文章:

matlab - 稀疏矩阵分配在 Matlab 中变得非常慢

matlab - 聚类和matlab

matlab - 如何使用两个矩阵计算余弦相似度

linux - 使用 libsox 播放 mp3 文件

java - 在 Java 中播放声音时出错

matlab - 多个起点和终点的高效冒号运算符

XNA MediaPlayer 加载音乐计时

python - 尝试从麦克风录制并实时播放

javascript - 如何使 Web Audio 中的 OscillatorNode 在 0 和 1 之间振荡?

android - Phonegap Build App-播放音频