2011-12-24 10 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

+0

MediaFailedイベントをmediaplayerにアタッチします。 'Sound.MediaFailed + = new EventHandler (Sound_MediaFailed);'このイベントが呼び出され、メッセージに含まれているかどうかを確認します。 – keyboardP

+0

私はそうしました。それは失敗しない。それだけでそれを再生していない。しかし、私は、私がplay()関数の直前にブレークポイントを置き、3秒待っていると、それが再生されることを発見しました。おそらくそのコードをスピードアップしていますか?コードを「スリープ」させる方法はありますか? – deztructicus

関連する問題