【发布时间】:2014-09-01 21:51:05
【问题描述】:
我一直在编写一个小应用程序,它使用 C# 在 WinPhone 8.1 上模拟鼓组。该应用程序运行但频繁触发声音时会导致异常: "在 KiDrums.exe 中发生了 'System.Exception' 类型的异常,但未在用户代码中处理
附加信息:灾难性故障(HRESULT 异常:0x8000FFFF (E_UNEXPECTED))"
我相信这是因为我尝试在同一声音或另一个声音仍在播放时触发声音造成的。很难说,因为我无法确定模式。 贝娄是我用过的一些代码。我有一个背景图片,在上面有几个省略号在触摸时会触发声音。
XAML:
<Grid>
<Image x:Name="KiDrums" HorizontalAlignment="Left" Height="620" Margin="10,10,-2,0" VerticalAlignment="Top" Width="392" Source="Assets/KiDrums.jpg" IsDoubleTapEnabled="False" ScrollViewer.VerticalScrollBarVisibility="Disabled" IsHitTestVisible="False" IsTapEnabled="False" ManipulationMode="None"/>
<Ellipse x:Name="RedDrum" Fill="#FFF4F4F5" HorizontalAlignment="Left" Height="196" Margin="142,10,0,0" Stroke="Black" VerticalAlignment="Top" Width="248" Opacity="0" Tapped="RedDrum_Tapped" Holding="RedDrum_Holding" DoubleTapped="RedDrum_DoubleTapped"/>
<MediaElement x:Name="Snare" Source="Assets/Snare.wav" AutoPlay="False" Visibility="Collapsed"/>
<MediaElement x:Name="SnareRollLong" Source="Assets/SnareRollLong.wav" AutoPlay="False" Visibility="Collapsed"/>
<MediaElement x:Name="SnareXtraRoll" Source="Assets/SnareXtraRoll.wav" AutoPlay="False" Visibility="Collapsed"/>
CS:
private void RedDrum_Tapped(object sender, TappedRoutedEventArgs e)
{
// Single Snare Hit : Snare.wav
Snare.Play();
}
private void RedDrum_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
{
// Snare Roll : SnareRollLong.wav
SnareRollLong.Play();
}
private void RedDrum_Holding(object sender, HoldingRoutedEventArgs e)
{
// Snare Extra Long Roll : SnareXtraRoll.wav
SnareXtraRoll.Play();
}
有谁知道我是否应该使用任何额外的代码来确保它顺利播放? 我是否正确地假设问题在于声音的播放? 感谢您提供的任何帮助。
【问题讨论】:
-
由于某种原因,上面没有包含 XAML 部分...
-
-
-
标签: c# audio windows-phone-8.1