zu beenden Ich spiele einen Ton mit Ton Befehl in Matlab und ich möchte für das Programm warten, bis er beendet den Ton zu spielen, bevor der nächste Befehl ausgeführt. Wie kann ich es tun?Warten Sound
>>tic
>>sound(signal,Fs)
>>wait??
>>b=toc
zu beenden Ich spiele einen Ton mit Ton Befehl in Matlab und ich möchte für das Programm warten, bis er beendet den Ton zu spielen, bevor der nächste Befehl ausgeführt. Wie kann ich es tun?Warten Sound
>>tic
>>sound(signal,Fs)
>>wait??
>>b=toc
Sie können die Audioplayer-Funktion:
%Create player object
player = audioplayer(signal, Fs);
%play sound
play(player)
while(strcmp(player.running,'on'))
{
% Waiting for sound to finish
}
hatte ich ein ähnliches Problem und versucht, die Estaban vorgeschlagenen Antwort zu verwenden, aber ich konnte nicht meine while-Schleife richtig machen (Ich bin ein Neuling Programmierer) und das Skript blieb hängen. Schließlich stolperte ich über die playblocking-Funktion, die genau das zu tun schien, was das OP wollte - um den Code zu pausieren, bis der Player fertig ist, den Sound zu spielen. Um Estebans vorherige Antwort zu ändern, verwenden Sie anstelle der "Play" -Funktion die "playblocking" -Funktion. Dann wird die While-Schleife nicht benötigt!
Die Waitfor-Funktion arbeitet mit Objekt-Handles, so dass Sie waitfor (pl, 'Running') verwenden können – Dimpl