5

我在 Matlab 中使用声音命令播放声音,我希望程序等到它完成播放声音后再执行下一个命令。我该怎么做?

>>tic  
>>sound(signal,Fs)  
>>wait??    
>>b=toc  
4

2 回答 2

3

您可以使用音频播放器功能:

%Create player object
player = audioplayer(signal, Fs);
%play sound
play(player)
while( strcmp(player.running,'on') )
{
  % Waiting for sound to finish
}
于 2013-05-04T19:27:05.030 回答
2

我遇到了类似的问题并尝试使用 Estaban 建议的答案,但我的 while 循环不正确(我是新手程序员)并且脚本一直挂起。最终,我偶然发现了播放阻止功能,它似乎完全符合 OP 的要求——暂停代码,直到播放器完成播放声音。因此,要修改 Esteban 之前的答案,请使用“playblocking”功能代替“play”功能。那么就不需要While循环了!

于 2015-07-23T18:51:29.993 回答