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
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é.
Essayez cette commande Fonctionne certainement !!
son clair
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)
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