我收到一个非常奇怪的错误。在我的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
,它的媒体就会被播放。
我不明白,这是一个非常奇怪的错误。我多次听过这些曲目,以确保我没有混淆它们。我多次检查过他们的路径。有没有人知道为什么它不能播放指定播放的内容?
答案 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();
}