我有这个带有 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 个 mediaElement
- 将 mp3 设置为资源、内容、嵌入资源
我知道的 :
- 状态始终“关闭”
- 如果我在 XAML 中指定了 URI,它就可以工作。但我不想那样做。
- 所有功能都根据条件正常工作。只是音乐不会开始。
有什么想法吗?