2011-12-24 58 views
1

我想在C#中设置媒体元素的来源。这是我在做什么在windows phone 7中设置MediaElement的源代码?

XAML部分

<MediaElement x:Name="Sound" AutoPlay="False" /> 

<Button Content="Shout!" Height="123" Name="button2" Width="123" Click="shout_Click" /> 

C#部分

private void shout_Click(object sender, RoutedEventArgs e) 
     { 
      this.Sound.Source = new Uri("Sounds/fusrodah.wma", UriKind.Relative); 
      this.Sound.Play(); 
     } 

以上不起作用。但是,如果我在xaml中手动设置路径,它将起作用。我怎样才能在C#中设置一个MediaElement的源代码?

回答

2

你有错误吗?还是只是不玩?尝试添加正斜杠,Dovahkiin:

this.Sound.Source = new Uri("/Sounds/fusrodah.wma", UriKind.Relative); 
+0

我试过了,它只是不玩。抛出没有错误,什么都没有。 PS:我猜你已经知道我正在制作的应用类型;) – deztructicus 2011-12-25 00:06:28

+0

将MediaFailed事件附加到mediaplayer。 'Sound.MediaFailed + = new EventHandler (Sound_MediaFailed);'检查这个事件是否被调用并且它包含的消息。 – keyboardP 2011-12-25 00:10:45

+0

我是这么做的。它没有失败。它只是没有玩它。然而我刚刚发现,如果我在play()函数之前放置一个断点并等待3秒钟,它就会播放。也许它通过该代码超速?有没有办法让我的代码“睡眠”? – deztructicus 2011-12-25 01:04:59