【问题标题】:Windows Phone 8.1 MediaElement Catastrophic failure (Exception from HRESULT: 0x8000FFFF (E_UNEXPECTED))Windows Phone 8.1 MediaElement 灾难性故障(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 - 没有任何区别

标签: c# wpf xaml windows-phone windows-phone-8.1


【解决方案1】:

由于您想同时播放多个声音,很遗憾,MediaElement 不适合您。您可能需要使用 XNA SoundEffect 类。

【讨论】:

  • WP 8.1 不再支持此类
猜你喜欢
  • 2016-07-06
  • 1970-01-01
  • 1970-01-01
  • 2011-10-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多