我正在使用Matlab中的声音命令播放声音,我希望程序在执行下一个命令之前等到它完成播放声音。我该怎么做?
>>tic
>>sound(signal,Fs)
>>wait??
>>b=toc
答案 0 :(得分:3)
您可以使用音频层功能:
%Create player object
player = audioplayer(signal, Fs);
%play sound
play(player)
while( strcmp(player.running,'on') )
{
% Waiting for sound to finish
}
答案 1 :(得分:2)
我有一个类似的问题,并试图使用Estaban的建议答案,但我无法正确的循环(我是一个新手程序员),脚本一直挂着。最终我偶然发现playblocking函数,它似乎完全符合OP的要求 - 暂停代码直到播放器完成播放声音。因此,要修改Esteban之前的答案,请使用“playblocking”功能代替“play”功能。然后不需要While循环!