博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【语音播放】基于GUI MP3设计【Matlab 021期】
阅读量:763 次
发布时间:2019-03-21

本文共 6978 字,大约阅读时间需要 23 分钟。

一、简介

基于matlab GUI MP3设计

二、源代码

function varargout = myaudioplayer(varargin)% MY_MUSIC_ANALYSIS_SOFTWARE M-file for my_music_analysis_software.fig%      MY_MUSIC_ANALYSIS_SOFTWARE, by itself, creates a new MY_MUSIC_ANALYSIS_SOFTWARE or raises the existing%      singleton*.%%      H = MY_MUSIC_ANALYSIS_SOFTWARE returns the handle to a new MY_MUSIC_ANALYSIS_SOFTWARE or the handle to%      the existing singleton*.%%      MY_MUSIC_ANALYSIS_SOFTWARE('CALLBACK',hObject,eventData,handles,...) calls the local%      function named CALLBACK in MY_MUSIC_ANALYSIS_SOFTWARE.M with the given input arguments.%%      MY_MUSIC_ANALYSIS_SOFTWARE('Property','Value',...) creates a new MY_MUSIC_ANALYSIS_SOFTWARE or raises the%      existing singleton*.  Starting from the left, property value pairs are%      applied to the GUI before myaudioplayer_OpeningFcn gets called.  An%      unrecognized property name or invalid value makes property application%      stop.  All inputs are passed to myaudioplayer_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 my_music_analysis_software% Last Modified by GUIDE v2.5 14-Jun-2014 17:43:41% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name',       mfilename, ...                   'gui_Singleton',  gui_Singleton, ...                   'gui_OpeningFcn', @myaudioplayer_OpeningFcn, ...                   'gui_OutputFcn',  @myaudioplayer_OutputFcn, ...                   'gui_LayoutFcn',  [] , ...                   'gui_Callback',   []);if nargin && ischar(varargin{
1}) gui_State.gui_Callback = str2func(varargin{
1});endif 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 my_music_analysis_software is made visible.function myaudioplayer_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 my_music_analysis_software (see VARARGIN)% Choose default command line output for my_music_analysis_softwarehandles.output = hObject;handles.output = hObject;setappdata(handles.my_music_analysis_software,'Max',0);setappdata(handles.my_music_analysis_software,'fpath',0);set(handles.my_music_analysis_software,'defaultAxesColor',[0.4 0.5 0.7])handles.timer1= timer('Period',0.01,'ExecutionMode','FixedRate','TimerFcn',{
@PlotUpdate,handles}); %handles.timer2= timer('ExecutionMode','singleShot','TimerFcn',{
@close,handles});% Update handles structureguidata(hObject, handles);global n stop1 fs C m a b color1 color2 colorOrder1 ;n=10;m=0;color1='b';color2='c';stop1=0;C=zeros(1,5);fs=11025;[a,b]=coef();colorOrder1 = ['r';'g'; 'b';'c';'m';'y';'k';'w'];set(handles.jindu_var,'min',0);set(handles.jindu_var,'max',100);equalizer_plot();% Update handles structureguidata(hObject, handles);% UIWAIT makes my_music_analysis_software wait for user response (see UIRESUME)% uiwait(handles.my_music_analysis_software);% --- Outputs from this function are returned to the command line.function varargout = myaudioplayer_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 structurevarargout{
1} = handles.output;% --- Executes on button press in button_load.function button_load_Callback(hObject, eventdata, handles)% hObject handle to button_load (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)stop(handles.timer1);global n stop1 x y fs C w fpath step w1 w2 w3 w4 w5 a b;n=1;[filename, pathname] = uigetfile( ... {
'*.wav', 'All Image Files (*.wav)'; ... '*.*', 'All Files (*.*)'}, ... 'Pick a wave');if isequal(filename,0) || isequal(pathname,0),return;endfpath=[pathname filename];y=wavread(fpath); w1=filter(10^(C(1)/20)*b{
1},a{
1},y); w2=filter(10^(C(2)/20)*b{
2},a{
2},y); w3=filter(10^(C(3)/20)*b{
3},a{
3},y); w4=filter(10^(C(4)/20)*b{
4},a{
4},y); w5=filter(10^(C(5)/20)*b{
5},a{
5},y); w=w1+w2+w3+w4+w5;% w=y;x=audioplayer(y,fs);stop1=0;Max=length(y);setappdata(handles.my_music_analysis_software,'Max',Max);setappdata(handles.my_music_analysis_software,'fpath',fpath);set(handles.jindu_var,'max',100);str=ConvTime(fix(x.TotalSamples/fs));set(handles.text_begin,'string','0:00');set(handles.text_end,'string',str);step=fix(x.TotalSamples/fs/4);%Info= strcat('正在播放: ',filename);set(handles.text_info,'string',filename);guidata(hObject,handles); % --- Executes on button press in button_play.function button_play_Callback(hObject, eventdata, handles)% hObject handle to button_play (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global x w fs stop1; x=audioplayer(w,fs); play(x); stop1=0; start(handles.timer1);% --- Executes on button press in button_pause.function button_pause_Callback(hObject, eventdata, handles)% hObject handle to button_pause (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global stop1 x ; stop1=1; pause(x);guidata(hObject,handles); % --- Executes on button press in button_continue.function button_continue_Callback(hObject, eventdata, handles)% hObject handle to button_continue (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA) global stop1 x ; stop1=0; resume(x);% --- Executes on button press in button_stop.function button_stop_Callback(hObject, eventdata, handles)% hObject handle to button_stop (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)global x;stop(x);stop(handles.timer1);function PlotUpdate(obj,events,handles)global n w stop1 x fs t color1;str=ConvTime(fix(x.CurrentSample/fs));set(handles.text_time_info,'Visible','on');set(handles.text_time,'string',str);if (stop1==0) if(isplaying(x)) t=x.CurrentSample/x.TotalSamples; set(handles.jindu_var,'value',100*t) Max=getappdata(handles.my_music_analysis_software,'Max'); fpath=getappdata(handles.my_music_analysis_software,'fpath');if 1100*n

三、运行结果

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

四、备注

版本:2014a

完整代码或者代写添加QQ912100926

转载地址:http://kbnrz.baihongyu.com/

你可能感兴趣的文章