tutorial student requisitos precio online gratis matlab

student - matlab tutorial



Cómo detener el sonido en MATLAB? (4)

Cuando reproduzca un sonido usando, por ejemplo:

sound(x,fs);

A veces, accidentalmente juego el equivocado. Si x es de longitud considerable, actualmente trato de esperar hasta que el sonido se haya completado. ¿Alguna sugerencia sobre cómo "abortar" la reproducción? Ya lo he intentado

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

Pero eso no funcionó. Estoy usando Windows por cierto.

ACTUALIZAR:
La siguiente solución propuesta por kigurai parece hacer el truco:

sound(x,fs); % Start the audio

Ahora mata el audio por

clear playsnd


Nunca utilicé "sonido ()" pero cuando reproduje audio usando wavplay (..., ..., ''async'') puedo detener el sonido emitiendo

clear playsnd

Tal vez eso también funciona con sonido () Nota: Esto es cuando se juega de forma asincrónica. Para la reproducción sincrónica, supongo que CTRL-C debería romperla, pero tuve problemas con wavplay () la última vez que lo intenté.


Prueba este comando ¡Definitivamente funciona!

sonido claro


Usa el objeto de reproductor de audio en su lugar, te brinda el control total de lo que haces con el sonido. Es decir:

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

El reproductor de audio tiene muchas otras cosas útiles: http://www.mathworks.com/help/techdoc/ref/audioplayer.html


Mathworks dice (y esto se aplica al sound también),

No hay ninguna función en MATLAB que pueda pausar o detener la reproducción de audio una vez iniciado por WAVPLAY. En lugar de usar WAVPLAY, una alternativa es crear un objeto AUDIOPLAYER. Este tipo de objeto tiene métodos que permiten pausar, reanudar y detener la reproducción de audio. Por ejemplo:

player = audioplayer(Y, Fs) % start the playback play(player); % pause the playback pause(player); % resume the playback resume(player) % stop the playback stop(player)