我想用我的按钮在打击乐背景图像区域播放我的 wav,所以我需要我的按钮在我的图形窗口中不可见。
我的脚本:
% --- Executes on button press in pushbutton1.
function pushbutton1_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[s,fs]=wavread('filename.wav');
sound(s,fs);
谢谢你..
最佳答案
要使您的按钮在您单击时不可见,请在回调函数中将visible
设置为off
set(hObject, 'Visible', 'off')
要使其在您的 GUI 中的其他部分/功能中不可见,只需将 hObject
替换为您的按钮的句柄。
更新:
您可以制作可点击的图像并针对不同的点击位置播放不同的声音。使用回调 'ButtonDownFcn'
触发图像中的点击事件。您可以使用轴属性 'CurrentPoint'
检索点击的位置。此返回为具有 x-y-z 投影坐标的 2x3 矩阵。但是当您使用 2D 图时,您可以简单地选择前 2 个值,阅读更多 here .
然后使用 x/y 坐标找出用户点击的图像中的内容并为其播放声音。
一个简单的例子:
% Draw an image
figure()
imHandle = image(imread(figPath));
% Set callback function (target function could have any name)
set(imHandle,'ButtonDownFcn', @ImgClickCB);
和回调函数(显示x和y坐标。)
function ImgClickCB(hObject, ~)
clickPoint = get( get(hObject,'Parent'), 'CurrentPoint');
fprintf('Clicked at x: %0.f y: %0.f \n', clickPoint(1,1), clickPoint(1,2));
关于algorithm - 如何使按钮在 GUI 中不可见?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39653939/