Windows Phone 8.1 MediaElement 灾难性故障(HRESULT 异常:0x8000FFFF (E_UNEXPECTED))
Posted
技术标签:
【中文标题】Windows Phone 8.1 MediaElement 灾难性故障(HRESULT 异常:0x8000FFFF (E_UNEXPECTED))【英文标题】:Windows Phone 8.1 MediaElement Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED)) 【发布时间】:2014-07-18 05:52:58 【问题描述】:我一直有一个非常奇怪的问题,我无法解决。
我创建了非常简单的 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();
现在,如果我单击按钮(尤其是在打开应用程序之后),我会在 MediaElement1.Play();线。真正奇怪的事实是,只有当有 4 个或更多 MediaElements 并且其中有 1、2、3 个时,才会出现异常,并且它工作得很好。 我整天都在努力寻找解决这个问题的方法,如果能提供任何帮助,我将不胜感激。
【问题讨论】:
为什么要使用这么多 MediaElement?为什么不使用一个而只是更改来源? 这只是一个简单的例子来说明我的问题。在我实际制作的应用程序中,有多个按钮,每个按钮都有不同的声音。我希望他们能够同时播放声音。如果有更好的方法来做到这一点(不使用多个 MediaElements),我将不胜感激。 请原谅我对 WP8.1 的无知,但是您可以尝试使用MediaPlayer
吗?对于音频,您不需要可视树中的元素,MediaPlayer
需要在代码中实例化。如果它在 WP8.1 中不存在,我很抱歉。
尝试移除媒体元素的可见性属性。
@ScottNimrod - 没有任何区别
【参考方案1】:
由于您想同时播放多个声音,很遗憾,MediaElement
不适合您。您可能需要使用 XNA SoundEffect
类。
【讨论】:
WP 8.1 不再支持此类以上是关于Windows Phone 8.1 MediaElement 灾难性故障(HRESULT 异常:0x8000FFFF (E_UNEXPECTED))的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Windows 商店中的 Windows Phone 应用程序(8.1 XAML)迁移到 8.1 Silverlight?
csharp 在Windows 8.1和Windows Phone 8.1应用程序中运行的Expander控件的代码隐藏。
使用 Windows RT 的客户端证书(windows 8.1/windows phone 8.1)
Windows Phone 8.0 DLL 是不是与 Windows Phone 8.1 应用程序兼容?