如何在metro app c#中设置mediaElement的来源?

时间:2012-08-05 17:09:56

标签: c# windows-8 microsoft-metro mediaelement

我需要在我的Metro应用程序中为Windows 8设置mediaElement控件的源代码!

这是我的代码:

string requestUrl = "ms-appx://ArcadiaDJ/Musique/test.mp3");
mediaElement_SoundEffect.Source = new Uri(requestUrl);   
mediaElement_SoundEffect.play();                       

我可以设置来源但是mediaElement不能正常播放..没有音乐

我找到了这个解决方案,但我需要动态加载页面设置源

var openPicker = new Windows.Storage.Pickers.FileOpenPicker();

openPicker.SuggestedStartLocation =Windows.Storage.Pickers.PickerLocationId.MusicLibrary;

openPicker.FileTypeFilter.Add(".mp3");
openPicker.FileTypeFilter.Add(".wav");
file = await openPicker.PickSingleFileAsync();

mediaControl.SetSource(stream, file.ContentType);

谢谢

1 个答案:

答案 0 :(得分:1)

您的代码有些奇怪之处。在名为mediaElement_SoundEffect的对象上设置Source属性,然后在名为mediaElement的对象上调用.Play方法。因此,您应该修复代码或修复示例,以便更准确地了解您正在做的事情。

同时查看this answer我写了一段时间...你应该将mediaElement添加到Visual Tree中。