Why 'play' doesn't work within a function?

4 views (last 30 days)
Urit Gordon
Urit Gordon on 21 Feb 2013
Hi,
When I create an audioplayer object inside a function it doesn't play the sound. for example- this code doesn't work:
noise=wgn(8192, 1,0);
runaudio(noise)
function runaudio(noise)
pl=audioplayer(noise,8192);
play(pl);
end
But if i pass the player object it does work.
for example - this code works:
noise=wgn(8192, 1,0);
pl=audioplayer(noise,8192);
runaudioP(pl)
function runaudioP(pl)
play(pl);
end
What am I missing here?
Thanks,
Urit

Answers (1)

Daniel Shub
Daniel Shub on 21 Feb 2013
This question has been asked and answered here before a number of times. The simple answer is that when the function exits, the audio player object gets deleted. If you pass the object. To the function, then the object still exits in the base workspace.

Products

Community Treasure Hunt

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

Start Hunting!