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

4 vues (au cours des 30 derniers jours)
Urit Gordon
Urit Gordon le 21 Fév 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

Réponses (1)

Daniel Shub
Daniel Shub le 21 Fév 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.

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by