MediaElement不播放源路径中定义的媒体文件

本文关键字:定义 媒体文件 路径 播放 MediaElement | 更新日期: 2023-09-27 18:18:41

我得到一个非常奇怪的错误。在我的XAML中,我有两个MediaElement标签与2个不同的声音相关联。然而,它却不能正确地播放。

XAML

<MediaElement x:Name="Sound" Source="Sounds/fusrodah.wma" AutoPlay="False" MediaFailed="Sound_MediaFailed" />
<MediaElement x:Name="Sound1" Source="Sounds/yoltorshul.wma" AutoPlay="False" />
<MediaElement x:Name="Sound2" Source="Sounds/iizslennus.wma" AutoPlay="False" />
c#

private void shout_Click(object sender, RoutedEventArgs e)
        {
            this.Sound.Play();
        }

根据这里写的代码,它应该播放Sound(即'Sounds/fusrodah.wma')的媒体,而不是播放Sound2 (Sounds/iizslennus.wma)的声音。

我还观察到,无论最后的MediaElement标签的来源是什么得到播放(即,如果我添加了Sound3,它的媒体将得到播放。

我不明白,这是一个非常奇怪的错误。我已经把这些音轨听了好几遍,以确保我没有把它们弄混。我已经检查过他们的路径很多次了。有人知道为什么它不能播放指定播放的内容吗?

MediaElement不播放源路径中定义的媒体文件

页面上只能有一个MediaElement。这就是为什么它只播放最后添加的MediaElement

我有许多MediaElement在我的XAML代码,我没有问题。

XAML

            <MediaElement x:Name="musicPlayer" 
      Source="Assets/sons/rodar2.wav"
      AudioCategory="BackgroundCapableMedia" AutoPlay="False"/>
            <MediaElement x:Name="musicPlayerFinish" 
      Source="Assets/sons/success.wav"
      AudioCategory="BackgroundCapableMedia" AutoPlay="False"/>
            <MediaElement x:Name="musicPlayerNavigation" 
      Source="Assets/sons/navegar.wav"
      AudioCategory="BackgroundCapableMedia" AutoPlay="False"/>
在我的c#代码中
    async void PlayMediaNavigation()
    {
        await Dispatcher.RunAsync(Windows.UI.Core.CoreDispatcherPriority.Normal, () =>
        {
            musicPlayerNavigation.Play();
        });
    }


    private async void Botan_PointerReleased(object sender, PointerRoutedEventArgs e)
    {
        PlayMediaNavigation();
    }