Need help with Volume Slider GUI

17 次查看(过去 30 天)
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 个评论
Nikos Korobos
Nikos Korobos 2022-4-9
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.

请先登录,再进行评论。

采纳的回答

jibrahim
jibrahim 2022-4-4
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 个评论
Mohamed Turkmani
Mohamed Turkmani 2022-9-7
编辑:Mohamed Turkmani 2022-9-7
@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

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Audio I/O and Waveform Generation 的更多信息

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by