Need help with Volume Slider GUI

12 views (last 30 days)
Nikos Korobos
Nikos Korobos on 3 Apr 2022
Edited: Mohamed Turkmani on 7 Sep 2022 at 8:02
Hello everyone, I've been trying to code an audio player for wav files throught the Matlab GUI (App Designer).
Currently stuck on the volume slider function.
When I choose another volume level, the sound file restarts instead of continuing from the point I used the slider to adjust the volume level.
Any ideas?
My code so far:
Sample code I found online:
Thanks in advance!
  1 Comment
Nikos Korobos
Nikos Korobos on 9 Apr 2022
I have also created an audio file player on μatlab, with Upload file and Play/Stop buttons.
Interested to code a display timer to show how long is the audio file while being played.
Can I use disp.AudioFileReader to count its length?
Need to count seconds in every loop.
Any suggestions appreciated.

Sign in to comment.

Accepted Answer

jibrahim
jibrahim on 4 Apr 2022
Hi Nikos,
Consider using audioDeviceWriter to play the audio, and dsp.AudioFileReader to read from the audio file. You do not need to restart these objects when you tune the volume gain.
% EXAMPLE: Read in an audio file and play it back using the standard
% audio device writer.
AFR = dsp.AudioFileReader('speech_dft.mp3');
ADW = audioDeviceWriter(AFR.SampleRate);
gain = 1;
while ~isDone(AFR)
audio = AFR();
ADW(gain*audio);
end
release(AFR); % close the input file
release(ADW); % close the audio output device
At a high level, you create AFR and ADW once in your app (at setup time). You feed the audio signal to ADW. Use the latest and greatest gain to scale the audio.
  8 Comments
Mohamed Turkmani
Mohamed Turkmani on 7 Sep 2022 at 7:59
Edited: Mohamed Turkmani on 7 Sep 2022 at 8:02
@Raja Palanimurugan the volume still doesnt work even when i add the drawnow limitrate. can you please explain how to use it more? when i change the value for the first time it works , for the second time it gives this error
Error using audioDeviceWriter/setupImpl
A given audio device may only be opened once.
drawnow limitrate

Sign in to comment.

More Answers (0)

Products


Release

R2021b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by