MediaElement没有播放源路径中定义的媒体文件?

时间:2011-12-25 00:30:45

标签: c# xaml windows-phone-7 mediaelement

我收到一个非常奇怪的错误。在我的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)的声音。< / p>

此外,我观察到,无论上一个MediaElement标记的来源是什么(即如果我添加了Sound3,它的媒体就会被播放。

我不明白,这是一个非常奇怪的错误。我多次听过这些曲目,以确保我没有混淆它们。我多次检查过他们的路径。有没有人知道为什么它不能播放指定播放的内容?

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

我的XAML代码中有很多MediaElement,我没有问题。

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();
    }