Playing random audio from pushbutton

I want to play using gui some .wav files randomly from a certain directory without any repeatition. can anyone help me in this regard?

Answers (1)

projectdir = '/Users/Snorky/music';
dirinfo = dir( fullfile(projectdir, '*.wav') );
numfiles = length(dirinfo);
order_to_play = randperm(numfiles);
for K = 1 : numfiles
thisfile = fullfile(projectdir, dirinfo(order_to_play(K)).name );
play this file
end

2 Comments

do i have to put this code in the callback function? because when i did so, this error came out when i click on the gui button.
Undefined function 'play' for input arguments of type 'char'.
Error in untitled1>play_Callback (line 180) play this file
Error in gui_mainfcn (line 95) feval(varargin{:});
Error in untitled1 (line 42) gui_mainfcn(gui_State, varargin{:});
Error in @(hObject,eventdata)untitled1('play_Callback',hObject,eventdata,guidata(hObject))
Error while evaluating uicontrol Callback
I solved the random order part for you. You need to figure out how to play the file. There are multiple ways described in the MATLAB documentation.

Sign in to comment.

Tags

Asked:

on 3 Dec 2015

Commented:

on 3 Dec 2015

Community Treasure Hunt

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

Start Hunting!