2010-11-27 8 views
0

On dirait que MediaElement nécessite XAML pour fonctionner.Comment jouer un son dans Silverlight sans XAML

Donc, ce simple code ne fonctionne pas:

MediaElement me = new MediaElement(); 
me.Volume = 1; 
me.AutoPlay = false; 
me.Source = new Uri("http://www.robtowns.com/music/blind_willie.mp3"); 
me.Play(); 

Y at-il une autre façon de jouer son dans Silverlight 4 avec MVVM - ou dois-je trouver un espace réservé pour l'élément multimédia dans mon XAML?

Ce fil décrit comment utiliser XNA pour Win Phone 7 - mais je parle Silverlight régulière http://social.msdn.microsoft.com/Forums/en-US/windowsphone7series/thread/60e7e4b4-31dc-4a81-bdfb-e2c80e761a1c

+0

Avez-vous déjà trouvé un moyen d'utiliser un MediaElement sans XAML? Plus spécifiquement, j'ai besoin d'un moyen de lire le son à partir d'un thread non-UI dans Silverlight. Des idées? –

+0

désolé je n'ai pas fait. J'ai dû concéder et utiliser un espace réservé dans le XAML –

Répondre

0

Le contrôle doit encore être dans l'arbre visuel pour fonctionner. Si vous ne voulez pas qu'il apparaisse réellement, vous pourriez l'avoir effondré. Mais vous devrez faire quelque chose comme:

me.Visibility = Visibility.Collapsed; 
LayoutRoot.Children.Add(me);