1

私はC#コードでこのアプリを持っていますが、MP3が再生されていません。

 music = new MediaElement();

 music.AutoPlay = false;
 music.Source = new Uri("/music/musicNormal.mp3", UriKind.Absolute);
 music.CurrentStateChanged += new RoutedEventHandler(music_CurrentStateChanged);
 music.MediaOpened += new RoutedEventHandler(music_MediaOpened);

イベントのためcurrentStateChangedに私はMessageBoxを与えます、しかしそれは決して引き起こされませんでした。MediaOpenedイベントのために私はラインを与えますmusic.Play()、しかしそれはまた決して引き起こされませんでした

私はこれらの機能を持っています

private void changeMusic(bool normal)
    {
        music.Stop();
        if (normal)
            music.Source = new Uri("/music/musicNormal.mp3", UriKind.Absolute);
        else
            music.Source = new Uri("/music/musicFast.mp3", UriKind.Absolute);
    }

private void playMusic()
    {
        if (timeBar.Value <= 10 && music1)
        {
            timeNumber.Foreground = new SolidColorBrush(Colors.Red);
            changeMusic(false);
            music2 = true;
            music1 = false;
        }
        else if (timeBar.Value > 10 && music2)
        {
            timeNumber.Foreground = new SolidColorBrush(Colors.White);
            changeMusic(true);
            music1 = true;
            music2 = false;
        }
        if (musicEnabled) music.Play();
    }

私が試してみました :

  • MediaFailedイベントを介して追跡しますが、失敗することはありません
  • UriKindをRelativeおよびRelativeOrAbsoluteに変更する
  • URIの先頭にあるスラッシュを与える/取り除く
  • これら2つを2つのmediaElementに分離しようとしました
  • mp3をリソース、コンテンツ、埋め込みリソースに設定する

私が知っていること :

  • 状態は常に「クローズ」
  • XAMLでURIを指定した場合、それは機能します。しかし、私はそれをしたくありません。
  • 状態に応じて、すべての機能が正常に動作しています。音楽だけが始まらない。

何かご意見は?

4

1 に答える 1