web-dev-qa-db-fra.com

Comment arrêter le son dans MATLAB?

Lors de la lecture d'un son en utilisant par exemple:

sound(x,fs);

Parfois, par accident, je joue le mauvais. Si x est de longueur importante, j'essaie actuellement d'attendre que le son soit terminé. Des suggestions sur la façon "d'interrompre" la lecture? J'ai déjà essayé

sound(mute,fs); % Mute is a short vector containing all zeroes

Mais cela n'a pas fonctionné. J'utilise Windows d'ailleurs.

MISE À JOUR:
La solution suivante proposée par kigurai semble faire l'affaire:

sound(x,fs); % Start the audio

Maintenant, tuez l'audio par

clear playsnd
35
S.C. Madsen

Je n'ai jamais utilisé "sound ()" mais lorsque j'ai joué du son en utilisant wavplay (..., ..., 'async'), je peux arrêter le son en émettant

clear playsnd

Peut-être que cela fonctionne aussi avec sound ()? Remarque: c'est lors de la lecture asynchrone. Pour la lecture synchrone, je suppose que CTRL-C devrait le casser, mais j'ai eu des problèmes avec wavplay () la dernière fois que j'ai essayé.

25
Hannes Ovrén

Essayez cette commande Fonctionne certainement !!

son clair

57
Ella

Mathworks dit (et cela s'applique également à sound),

Il n'y a aucune fonction dans MATLAB qui peut suspendre ou arrêter la lecture audio une fois lancée par WAVPLAY. Au lieu d'utiliser WAVPLAY, une alternative consiste à créer un objet AUDIOPLAYER. Ce type d'objet possède des méthodes qui permettent de suspendre, de reprendre et d'arrêter la lecture audio. Par exemple:

player = audioplayer(Y, Fs)

% start the playback
play(player);

% pause the playback
pause(player);

% resume the playback
resume(player)

% stop the playback
stop(player)
28
Jacob

Utilisez plutôt l'objet audioplayer - il vous donne le contrôle total sur ce que vous faites avec le son. C'est à dire:

player = audioplayer(x, fs);
play(player)   % start the player
stop(player)   % stop whenever you like...

Audioplayer a beaucoup d'autres choses utiles: http://www.mathworks.com/help/techdoc/ref/audioplayer.html

7
Gacek