classdef Project2 < matlab.apps.AppBase
% Properties that correspond to app components
properties (Access = public)
UIFigure matlab.ui.Figure
PlayButton matlab.ui.control.Button
StopButton matlab.ui.control.Button
FrequencySliderLabel matlab.ui.control.Label
FrequencySlider matlab.ui.control.Slider
VolumeSliderLabel matlab.ui.control.Label
VolumeSlider matlab.ui.control.Slider
UIAxes matlab.ui.control.UIAxes
end
methods (Access = private)
% Button pushed function: PlayButton
function PlayButtonPushed(app, event)
fs=44100;
[y,fs]=audioread('岑寧兒-追光者.mp3');
volume=app.VolumeSlider.Value*y;
Freq=app.FrequencySlider.Value*fs;
time = (1:length(y/Freq));
sound(volume,Freq);
plot(app.UIAxes,time,volume);
end
% Value changed function: VolumeSlider
function VolumeSliderValueChanged(app, event)
value = app.VolumeSlider.Value;
end
% Value changed function: FrequencySlider
function FrequencySliderValueChanged(app, event)
value = app.FrequencySlider.Value;
end
% Button pushed function: StopButton
function StopButtonPushed(app, event)
clear sound;
end
end
% App initialization and construction
methods (Access = private)
% Create UIFigure and components
function createComponents(app)
% Create UIFigure
app.UIFigure = uifigure;
app.UIFigure.Position = [100 100 640 480];
app.UIFigure.Name = 'UI Figure';
% Create PlayButton
app.PlayButton = uibutton(app.UIFigure, 'push');
app.PlayButton.ButtonPushedFcn = createCallbackFcn(app, @PlayButtonPushed, true);
app.PlayButton.FontSize = 20;
app.PlayButton.FontWeight = 'bold';
app.PlayButton.Position = [81 338 100 69];
app.PlayButton.Text = 'Play';
% Create StopButton
app.StopButton = uibutton(app.UIFigure, 'push');
app.StopButton.ButtonPushedFcn = createCallbackFcn(app, @StopButtonPushed, true);
app.StopButton.FontSize = 20;
app.StopButton.FontWeight = 'bold';
app.StopButton.Position = [81 253 100 69];
app.StopButton.Text = 'Stop';
% Create FrequencySliderLabel
app.FrequencySliderLabel = uilabel(app.UIFigure);
app.FrequencySliderLabel.HorizontalAlignment = 'right';
app.FrequencySliderLabel.Position = [55 62 63 15];
app.FrequencySliderLabel.Text = 'Frequency';
% Create FrequencySlider
app.FrequencySlider = uislider(app.UIFigure);
app.FrequencySlider.Limits = [0 4];
app.FrequencySlider.ValueChangedFcn = createCallbackFcn(app, @FrequencySliderValueChanged, true);
app.FrequencySlider.Position = [139 68 150 3];
% Create VolumeSliderLabel
app.VolumeSliderLabel = uilabel(app.UIFigure);
app.VolumeSliderLabel.HorizontalAlignment = 'right';
app.VolumeSliderLabel.Position = [364 62 47 15];
app.VolumeSliderLabel.Text = 'Volume';
% Create VolumeSlider
app.VolumeSlider = uislider(app.UIFigure);
app.VolumeSlider.Limits = [0 5];
app.VolumeSlider.ValueChangedFcn = createCallbackFcn(app, @VolumeSliderValueChanged, true);
app.VolumeSlider.Position = [432 68 150 3];
% Create UIAxes
app.UIAxes = uiaxes(app.UIFigure);
title(app.UIAxes, 'Freq')
xlabel(app.UIAxes, 'Time(s)')
ylabel(app.UIAxes, 'Y')
app.UIAxes.Position = [238 222 300 185];
end
end
methods (Access = public)
% Construct app
function app = Project2
% Create and configure components
createComponents(app)
% Register the app with App Designer
registerApp(app, app.UIFigure)
if nargout == 0
clear app
end
end
% Code that executes before app deletion
function delete(app)
% Delete UIFigure when app is deleted
delete(app.UIFigure)
end
end
end