等待声音完成

时间:2012-12-19 05:50:53

标签: matlab audio wait

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

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

2 个答案:

答案 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循环!