停止在MATLAB GUI中播放wav文件

时间:2013-11-17 06:41:39

标签: matlab audio user-interface

我在MATLAB中创建了一个GUI来分析钢琴曲。我的GUI基本上有一个加载,播放和停止按钮。

我使用代码加载文件

[FileName,PathName] = uigetfile({'*.wav'},'Load Wav File');
[x,Fs] = wavread([PathName '/' FileName]);
handles.fileLoaded = 1;
guidata(hObject, handles);

这是我用来播放歌曲的代码

if (handles.fileLoaded==1)
    sound(handles.x, handles.Fs);
end

在此之后,我不知道如何阻止这首歌,所以每次我测试GUI时我都不必一直听完整首歌......有什么建议吗? Thanx提前:))

1 个答案:

答案 0 :(得分:3)

您应该使用audioplayer

[FileName,PathName] = uigetfile({'*.wav'},'Load Wav File');
[x,Fs] = wavread([PathName '/' FileName]);
player=audioplayer(x,Fs); 
% start the playback
play(player);
% pause the playback
pause(player);
% resume the playback
resume(player)
% stop the playback
stop(player)

您可以在按钮代码中使用audioplayer类方法。 您也可以查看此链接How to stop sound in MATLAB?