playing a nonstop audio file
Show older comments
how can i play an audio file without stopping kinda like a loop in app designer
[y,Fs] = audioread(app.files);
sound(y,Fs)
this will just play it once
Answers (1)
jibrahim
on 6 Sep 2022
afr = dsp.AudioFileReader('speech_dft.mp3','PlayCount',Inf);
adw = audioDeviceWriter('SampleRate', afr.SampleRate);
while ~isDone(afr)
audio = afr();
adw(audio);
end
5 Comments
Mohamed Turkmani
on 6 Sep 2022
Mohamed Turkmani
on 6 Sep 2022
Mohamed Turkmani
on 6 Sep 2022
jibrahim
on 6 Sep 2022
You can control the range of the signal you want to play with the ReadRange property:
afr = dsp.AudioFileReader('speech_dft.mp3','PlayCount',Inf,'ReadRange', [start finish]);
Increasing the volume can be done by simply multiplying 'audio' by a constant of your choice.
Regarding the error, in your app, first clear your workspace, then make sure the object afr is only created once (say in setup of your app) and then somply call it in the loop. Do not recreate every time in your loop.
Mohamed Turkmani
on 7 Sep 2022
Edited: Mohamed Turkmani
on 7 Sep 2022
Categories
Find more on Audio I/O and Waveform Generation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!