我一直有一个很奇怪的问题,我就是不明白。
我创建了一个非常简单的WP 8.1应用程序来显示这个问题:
MainPage.xaml:
<Page
x:Class="App6.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:App6"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
mc:Ignorable="d"
Background="{ThemeResource ApplicationPageBackgroundThemeBrush}">
<Grid>
<MediaElement x:Name="MediaElement1" Source="/Assets/Audio/clap_01.mp3"
Visibility="Collapsed" AutoPlay="False" />
<MediaElement x:Name="MediaElement2" Source="/Assets/Audio/click_01.mp3"
Visibility="Collapsed" AutoPlay="False" />
<MediaElement x:Name="MediaElement3" Source="/Assets/Audio/cowbell_01.mp3"
Visibility="Collapsed" AutoPlay="False" />
<MediaElement x:Name="MediaElement4" Source="/Assets/Audio/kick_01.mp3"
Visibility="Collapsed" AutoPlay="False" />
<Button Content="Button" HorizontalAlignment="Left" Margin="125,118,0,0" VerticalAlignment="Top" Height="147"
Width="150" Click="ButtonBase_OnClick" />
</Grid>
</Page>
MainPage.xaml.cs:
namespace App6
{
public sealed partial class MainPage : Page
{
public MainPage()
{
this.InitializeComponent();
this.NavigationCacheMode = NavigationCacheMode.Required;
}
protected override void OnNavigatedTo(NavigationEventArgs e)
{
}
private void ButtonBase_OnClick(object sender, RoutedEventArgs e)
{
MediaElement1.Play();
}
}
}
现在,如果我点击按钮(特别是在打开应用程序后),我得到"灾难性的失败(异常从HRESULT: 0x8000FFFF (E_UNEXPECTED))"在MediaElement1.Play();线。真正奇怪的事实是,只有当有4个或更多mediaelement时才会出现异常,如果有1,2,3个mediaelement,它就会完美地工作。我一整天都在试图找到一些解决这个问题的方法,我将非常感谢任何帮助。
当你想同时播放多个声音时,不幸的是,MediaElement
不会为你工作。您可能需要使用XNA SoundEffect
类。