我在Matlab中使用聲音命令播放聲音,我希望程序在執行下一個命令之前等待,直到它完成播放聲音。我該怎麼做?等待聲音完成
>>tic
>>sound(signal,Fs)
>>wait??
>>b=toc
我在Matlab中使用聲音命令播放聲音,我希望程序在執行下一個命令之前等待,直到它完成播放聲音。我該怎麼做?等待聲音完成
>>tic
>>sound(signal,Fs)
>>wait??
>>b=toc
可以使用audioplayer功能:
%Create player object
player = audioplayer(signal, Fs);
%play sound
play(player)
while(strcmp(player.running,'on'))
{
% Waiting for sound to finish
}
我也有類似的問題,並試圖用Estaban建議的答案,但我不能讓我的,而右環行(我是新手程序員)和腳本不停地掛着。最終我偶然發現了playblocking函數,這似乎正是OP想要的 - 暫停代碼,直到播放器完成播放聲音。因此,要修改Esteban先前的答案,請使用「playblocking」功能代替「play」功能。那麼While循環是不需要的!
waitfor函數在對象句柄上工作,所以你可以使用waitfor(pl,'Running') – Dimpl