2

我正在开发一个游戏,一个基于 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();

这行得通,但有时会出现烦人的咔嗒声,像这样

奇怪的是点击是多么一致:有些文件从不引起点击,有些几乎总是,如果他们这样做,它总是在同一个位置(对于一个是开始,对于另一个它接近结束)。这些点击不在WAV 文件中。当我在 Audacity 中播放它们时,一切都很好。

这里发生了什么?我该如何补救?

4

1 回答 1

1

我建议对声音使用 XAudio2、SharpDX 或 MonoGame。正如您注意到的那样,MediaElements 并不适合这一点。

于 2013-04-05T00:45:15.223 回答