MATLAB: Soundsc

soundsc

So, I noticed that you can't cntr + c out of the sound playback from soundsc. Is there a way to kill the horrible noises I'm making? Thanks

Best Answer

The reason you cannot cancel the sound with crtl+c is that MATLAB plays the sound asynchronously. This means you can do other things while the sound is playing. If you want crtl+c to cancel the sound, you need to make SOUNDSC perform play blocking. If all you want is a way to stop the sound, then you need SOUNDSC to return a handle to the sound playing object. Both can be accomplished by deleting the PLAYSND mex file. This will force SOUNDSC to use an AUDIOPLAYER object. AUDIOPLAYER objects can be used to provide play blocking as well as provide a handle for stopping sound once playback has started.
If you also look at the source code for SOUNDSC you will see that it calls SOUND which calls PLAYSND. PLAYSND is either a mex (Windows) or an m file (Linux). The m file version uses AUDIOPLAYER, so it should be trivial to create your own playblocking version of SOUNDSC
Related Question