matlab制作音乐播放器GUI界面

时间:2024-02-21 09:12:34

一.打开matlab App Designer设计界面

在App Designer的代码视图中初始化参数,代码如下:

    properties (Access = private)
        music_path = \'\'; % Description
        frameSize = 1024;
    end
    
    properties (Access = public)
        stop_flag = false;
        pause_flag = false;
        origin_flag = false;
    end

  

二.制作播放界面

1.打开音频文件

在App Designer中选择按钮,将按钮命名为选择音频文件,编写回调函数,代码如下:

function Button_7Pushed(app, event)
    [file,path] = uigetfile(\'*.*\');
    app.music_path = fullfile(path,file);
end

2.播放音频文件

在App Designer中选择按钮,将按钮命名为播放,编写回调函数,代码如下:

function Button_8Pushed(app, event)
    app.stop_flag = false;
    app.pause_flag = false;
    app.origin_flag = false;
    fileReader = dsp.AudioFileReader(app.music_path,"SamplesPerFrame",app.frameSize);
    deviceWriter = audioDeviceWriter("SampleRate",fileReader.SampleRate);
    while ~isDone(fileReader)
     % 此处可以添加代码对原始音频信号实时处理 originalSignal = fileReader(); % 控制结束 if app.stop_flag == true break end % 控制暂停/继续 if app.pause_flag == true while(1) pause(0.001); if app.pause_flag == false break; end end end % 播放音频文件或者处理之后的音频文件 deviceWriter(originalSignal);

    %如果需要和其他回调函数进行交互,比如实时读取用户输入的控制参数数据,需要添加代码pause(0.001) pause(0.001); end release(fileReader) release(deviceWriter) end

3.播放暂停和继续

在App Designer中选择按钮,将按钮命名为暂停/继续,编写回调函数,代码如下:

function Button_11Pushed(app, event)
    if app.pause_flag == false
        app.pause_flag = true;
    else
        app.pause_flag = false;
    end
end

4.结束播放

在App Designer中选择按钮,将按钮命名为结束,编写回调函数,代码如下:

function Button_9Pushed(app, event)
    app.stop_flag = true;
end

 

三,播放界面如下