MediaElement会导致可听见的点击

时间:2013-04-04 09:27:42

标签: c# windows-runtime windows-store-apps winrt-xaml mediaelement

我正在开发一款游戏,一种基于XAML(不是DirectX)的Windows应用商店应用。要播放音效(WAV文件),我使用MediaElement。对于每个声音效果,我有一个(或几个)初始化的MediaElement:

StorageFolder folder = 
    await Package.Current.InstalledLocation.GetFolderAsync(FolderPath);
StorageFile file = await folder.GetFileAsync(FileName);
IRandomAccessStream stream = await file.OpenAsync(FileAccessMode.Read);

_mediaElement = new MediaElement();
_parentPanel.Children.Add(_mediaElement);
_mediaElement.AutoPlay = false;
_mediaElement.SetSource(stream, file.ContentType);

......并且像这样玩:

_mediaElement.Play();

这样做有效,但有时会发出恼人的声音点击,例如this

奇怪的是点击的一致性如何:有些文件永远不会导致点击,有些文件几乎总是如此,如果他们这样做总是在同一个位置(一个是开头,另一个是接近结束)。 WAV文件中的点击次数。当我在Audacity中播放时,一切都很好。

这是怎么回事?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我建议使用XAudio2,SharpDX或MonoGame来发声。正如您所注意到MediaElements不适合那样。