ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

【游戏】基于matlab GUI音乐闹钟设计【含Matlab源码 1105期】

2021-07-06 18:57:37  阅读:165  来源: 互联网

标签:see get GUI 1105 handles popupmenu hObject 源码 eventdata


## 一、简介 基于matlab GUI音乐闹钟设计 ## 二、源代码 ```c function varargout = wying(varargin) % WYING M-file for wying.fig % WYING, by itself, creates a new WYING or raises the existing % singleton*. % % H = WYING returns the handle to a new WYING or the handle to % the existing singleton*. % % WYING('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in WYING.M with the given input arguments. % % WYING('Property','Value',...) creates a new WYING or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before wying_OpeningFcn gets called. An % unrecognized property name or invalid value makes property application % stop. All inputs are passed to wying_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 wying % Last Modified by GUIDE v2.5 02-Jun-2021 10:01:54 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @wying_OpeningFcn, ... 'gui_OutputFcn', @wying_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 wying is made visible. function wying_OpeningFcn(hObject, eventdata, 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 wying (see VARARGIN) %设置定时器 if ~isempty(timerfindall), stop(timerfindall);delete(timerfindall);end %在这里设置radiobutton,是创建时设置的属性不起作用? %set(handles.radiobutton_music,'value',handles.clockSaveData(3)); set(handles.radiobutton_music,'Value',handles.clockSaveData(3)); %设置图标******************************************************************* filename='d:\我的文档\My Pictures\picture\pink素材.jpg'; javaFrame=get(hObject,'javaFrame'); set(javaFrame,'FigureIcon',javax.swing.ImageIcon(filename)); %************************************************************************** %设置com对象媒体播放器 temp=get(handles.uipanel_outerFrame,'Units');set(handles.uipanel_outerFrame,'Units','pixels'); position=get(handles.uipanel_outerFrame,'position');%【左下X,左下Y,宽,高】 position(4)=position(2)-20;position(2)=8;position(3)=position(3)+position(1)-13; handles.sound_player=actxcontrol('wmplayer.ocx.7',position,handles.figure_bkground); handles.sound_player.settings.volume=100;%音量【0,,100】 set(handles.uipanel_outerFrame,'Units',temp);%uipanellll_outerFrame还原回原来的单位 handles.timer=timer;%这句要放set之前,否则handles里无timer域 set(handles.timer,'TimerFcn',{@timer_action,handles});%计时器 start_timer(handles);%启动定时器 start_timer2(handles); %************************************************************************* %set(handles.pushbutton_browse,'visible','off');%默认为隐藏浏览框 %set(handles.edit_musicFile,'visible','off'); %************************************************************************* % Choose default command line output for wying handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes wying wait for user response (see UIRESUME) % uiwait(handles.figure_bkground); % --- Outputs from this function are returned to the command line. function varargout = wying_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % hObject handle to figure % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; % --- Executes on button press in pushbutton_browse. function pushbutton_browse_Callback(hObject, eventdata, handles) % hObject handle to pushbutton_browse (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) %set(handles.activex1,'URL','d:\我的文档\我的音乐\music\阿桑\阿桑.mp3'); [filename,pathname]=uigetfile(...%调用windows的打开文件窗口 {'*.mp3;*.wav;*.asf;*.wma;*.wmv;*.rm;*.avi;...*.mpg;*.mp4;*.rmvb;*.mkv',... '可以播放的文件';},'选定是播放的音乐','MultiSelect','off'); %形成完整的“路径名+文件名”字符串 handles.musicSaveData=fullfile(pathname,filename); %将上部的字符串写入edit_musicFile空间的string域内 set(handles.edit_musicFile,'String',handles.musicSaveData); musicSaveData=handles.musicSaveData;%供下部save使用musicSaveData变量 %每次都sava是为了提供记录功能,是每次打开闹钟者都有上次记录的文件名 save('musicSaveData.txt','-ascii','musicSaveData');%写入一个txt文件 guidata(hObject,handles);%因为增加了handles的域,所以要更新数据供其他函数用 % --- Executes on selection change in popupmenu_hour. function popupmenu_hour_Callback(hObject, eventdata, handles) % hObject handle to popupmenu_hour (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu_hour contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu_hour %提取当前的小时数的位置编号(不是具体小时数) handles.clockSaveData(1)=get(hObject,'Value'); clockSaveData=handles.clockSaveData; save('clockSaveData.txt','-ascii','clockSaveData'); guidata(hObject,handles);%更新数据 %下面启动定时器 start_timer(handles); % --- Executes during object creation, after setting all properties. function popupmenu_hour_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu_hour (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %载入以前的定时 set(hObject,'Value',handles.clockSaveData(1)); %控件对象的句柄写入handles中 handles.popupmenu_hour=hObject; guidata(hObject,handles); % --- Executes on selection change in popupmenu_minute. function popupmenu_minute_Callback(hObject, eventdata, handles) % hObject handle to popupmenu_minute (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns popupmenu_minute contents as cell array % contents{get(hObject,'Value')} returns selected item from popupmenu_minute handles.clockSaveData(2)=get(hObject,'Value'); clockSaveData=handles.clockSaveData; save('clockSaveData.txt','-ascii','clockSaveData'); guidata(hObject,handles);%更新数据 %下面启动定时器 start_timer(handles); % --- Executes during object creation, after setting all properties. function popupmenu_minute_CreateFcn(hObject, eventdata, handles) % hObject handle to popupmenu_minute (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles empty - handles not created until after all CreateFcns called % Hint: popupmenu controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %载入以前的定时 set(hObject,'Value',handles.clockSaveData(2)); %控件对象的句柄写入handles中 handles.popupmenu_minute=hObject; guidata(hObject,handles); function edit_musicFile_Callback(hObject, eventdata, handles) % hObject handle to edit_musicFile (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit_musicFile as text % str2double(get(hObject,'String')) returns contents of edit_musicFile as a double handles.musicSaveData=get(hObject,'String');%从编辑框控件中获得文件名(string) musicSaveData=handles.musicSaveData;%文件名临时存到musicSaveData中供记录 %将文件名musicSaveData写入musicSaveData.txt文本文件中,保存到硬盘上 save('musicSaveData.txt','-ascii','musicSaveData'); guidata(hObject,handles);%更新handles数据 ``` ## 三、运行结果 ![在这里插入图片描述](https://www.icode9.com/i/ll/?i=20210706183747657.JPG?,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L1RJUUNtYXRsYWI=,size_16,color_FFFFFF,t_70#pic_center) ## 四、备注 版本:2014a

标签:see,get,GUI,1105,handles,popupmenu,hObject,源码,eventdata
来源: https://blog.51cto.com/u_15287606/2994103

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有