2016-12-16 5 views
0

, когда я бегом этого кода не дала мне ничего, кроме следующей ошибкичерчение звукового сигнала с использованием MATLAB и графического интерфейса

matlab.graphics.internal.figfile.FigFile/чтение> @ (hObject, данныеСобытие) без названия ('pushbutton2_Callback', hObject, данныеСобытия, guidata (hObject)) Ошибка при оценке UIControl Callback

вот мой код

function varargout = untitled(varargin) 
% UNTITLED MATLAB code for untitled.fig 
%  UNTITLED, by itself, creates a new UNTITLED or raises the existing 
%  singleton*. 
% 
%  H = UNTITLED returns the handle to a new UNTITLED or the handle to 
%  the existing singleton*. 
% 
%  UNTITLED('CALLBACK',hObject,eventData,handles,...) calls the local 
%  function named CALLBACK in UNTITLED.M with the given input arguments. 
% 
%  UNTITLED('Property','Value',...) creates a new UNTITLED or raises the 
%  existing singleton*. Starting from the left, property value pairs are 
%  applied to the GUI before untitled_OpeningFcn gets called. An 
%  unrecognized property name or invalid value makes property application 
%  stop. All inputs are passed to untitled_OpeningFcn via varargin. 
% 
%  *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one 
%  instance to run (singleton)". 
% 
% See also: GUIDE, GUIDATA, GUIHANDLES 

% Edit the above text to modify the response to help untitled 

% Last Modified by GUIDE v2.5 16-Dec-2016 17:10:11 

% Begin initialization code - DO NOT EDIT 
gui_Singleton = 1; 
gui_State = struct('gui_Name',  mfilename, ... 
        'gui_Singleton', gui_Singleton, ... 
        'gui_OpeningFcn', @untitled_OpeningFcn, ... 
        'gui_OutputFcn', @untitled_OutputFcn, ... 
        'gui_LayoutFcn', [] , ... 
        'gui_Callback', []); 
if nargin && ischar(varargin{1}) 
    gui_State.gui_Callback = str2func(varargin{1}); 
end 

if nargout 
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); 
else 
    gui_mainfcn(gui_State, varargin{:}); 
end 
% End initialization code - DO NOT EDIT 


% --- Executes just before untitled is made visible. 
function untitled_OpeningFcn(hObject, ~, handles, varargin) 
% This function has no output args, see OutputFcn. 
% hObject handle to figure 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 
% varargin command line arguments to untitled (see VARARGIN) 




% Choose default command line output for untitled 
bushbutton1() 
bushbutton2() 

% Update handles structure 
handles.output = hObject; 




guidata(hObject, handles); 

% UIWAIT makes untitled wait for user response (see UIRESUME) 
% uiwait(handles.figure1); 


% --- Outputs from this function are returned to the command line. 
function varargout = untitled_OutputFcn(~, ~, handles) 
varargout{1} = handles.output; 


% --- Executes on button press in bushbutton1. 
function bushbutton1_Callback(hobject,eventdata,handles) 
global speech 
x = audiorecorder(16000,16,1); 
recordblocking(x,3); 
speech = getaudiodata(x,'double'); 


% --- Executes on button press in pushbutton2. 
function pushbutton2_Callback(hObject, eventdata, handles) 
% hObject handle to pushbutton2 (see GCBO) 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 
axes(handles.axes1) 
plot(handles.speech) 

является Ther e любые предложения, спасибо.

+0

Какая линия производит эту ошибку? – GameOfThrows

+0

line 42 @GameOfThrows – user3474341

ответ

0

Вы не сэкономили speech в структуре handles. Вы должны сделать это с помощью guidata

function bushbutton1_Callback(hobject,eventdata,handles) 
    x = audiorecorder(16000,16,1); 
    recordblocking(x,3); 
    handles.speech = getaudiodata(x,'double'); 

    % Save the updated handles struct 
    guidata(hobject, handles); 
end 

function pushbutton2_Callback(hObject, eventdata, handles) 
    axes(handles.axes1) 
    plot(handles.speech) 
end 

или просто использовать speech, так как вы уже определили его как глобальную переменную. Обратите внимание, что это менее предпочтительно, так как использование переменных global может привести ко многим проблемам.

function pushbutton2_Callback(hObject, eventdata, handles) 
    gloabl speech 
    plot(speech) 
end 
+0

К сожалению, он не работает – user3474341

+0

@ user3474341 Какая ошибка? И какой из них вы попробовали? – Suever

+0

@ user3474341 Также вы сначала нажимаете кнопку записи, правильно? – Suever

Смежные вопросы