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

4 次查看(过去 30 天)
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

回答(1 个)

Daniel Shub
Daniel Shub 2013-2-21
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.

产品

Community Treasure Hunt

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

Start Hunting!

Translated by