首页 文章

如何在MATLAB中停止声音?

提问于
浏览
34

使用例如播放声音时:

sound(x,fs);

我有时偶然会玩错了 . 如果x的长度很长,我现在试着等到声音完成 . 有关如何“中止”播放的任何建议?我已经试过了

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

但那没用 . 我顺便使用Windows .

UPDATE:
kigurai提出的以下解决方案似乎可以解决问题:

sound(x,fs); % Start the audio

现在杀死音频

clear playsnd

4 回答

  • 25

    从未使用过“sound()”但是当我使用wavplay(...,...,'async')播放音频时,我可以通过发出声音来停止声音

    clear playsnd
    

    也许这适用于sound()?注意:这是异步播放时 . 对于同步播放我假设CTRL-C应该打破它,但上次我尝试使用wavplay()时遇到了问题 .

  • 55

    试试这个命令绝对有效!!

    声音清晰

  • 7

    Mathworks说(这也适用于 sound ),

    MATLAB中没有任何功能可以在WAVPLAY启动后暂停或停止音频播放 . 而不是使用WAVPLAY,另一种方法是创建一个AUDIOPLAYER对象 . 这种类型的对象具有允许暂停,恢复和停止音频回放的方法 . 例如:

    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

    使用audioplayer对象 - 它可以让您完全控制对声音的处理 . 即:

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

    Audioplayer有很多其他有用的东西:http://www.mathworks.com/help/techdoc/ref/audioplayer.html

相关问题