找回密码
 注册
关于网站域名变更的通知
查看: 570|回复: 3
打印 上一主题 下一主题

基于matlab GUI音乐闹钟设计

[复制链接]
  • TA的每日心情

    2019-11-20 15:22
  • 签到天数: 2 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2021-9-8 18:28 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    ; A9 p$ @% X& H! {5 _* x
    一、简介3 o& T  E5 u( i, b. h4 {

    : b8 ]. q8 K3 s  e基于matlab GUI音乐闹钟设计
    4 N7 K" S( S0 `" ^! q8 n/ R# Q3 i! F: |1 j0 \

    - J& V; N# l7 K; z! z' L0 {二、源代码+ b8 b# r8 u3 ?6 ~6 J4 H
    * p6 p) r" _; @$ x( _$ S
    • 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数据

    • 3 l; y, _* u- B# W0 t

    * _( Z& [7 @' O4 q$ H3 |; _' o+ \& n$ X) E/ d

    8 a4 f" u) b4 g7 H4 V* ]三、运行结果
    5 N5 J& ~; ~2 `) i, t1 ?: S+ x/ s. l% H$ ^4 A6 l  ]& L- w
    * u: R' @9 ^( N; T* @
    3 g( S, P+ x6 Q- f( H9 ~2 j

    该用户从未签到

    2#
    发表于 2021-9-8 18:46 | 只看该作者
    基于matlab GUI音乐闹钟设计

    该用户从未签到

    3#
    发表于 2021-9-8 18:47 | 只看该作者
    基于matlab GUI音乐闹钟设计

    该用户从未签到

    4#
    发表于 2021-9-8 18:47 | 只看该作者
    基于matlab GUI音乐闹钟设计
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-7-18 18:35 , Processed in 0.125000 second(s), 26 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

    快速回复 返回顶部 返回列表