我正在尝试从嵌入资源中回放WAV文件,但通常会在开头剪掉0.5到2.0秒。也就是说,如果WAV是一段录制的声音,说“大家好。今天的新闻……”然后播放通常会剪掉开头的“大家好——”。
播放代码非常简单:
原始代码仅创建了 SoundPlayer 对象,然后调用了 Play() 方法。我添加了 LoadAsync() 调用和 LoadCompleted 事件处理程序,以查看是否可以解决问题,但似乎并没有表现出任何不同。
额外信息:似乎只有应用程序第一次调用 SoundPlayer.Play() 时才会截断声音播放。随后的调用似乎正常工作。
播放代码非常简单:
using System.Media;
play(GetResourceStream(audioItem));
...
private static void play(UnmanagedMemoryStream sndData)
{
SoundPlayer sp = new SoundPlayer(sndData);
sp.LoadCompleted += delegate( object sender, System.ComponentModel.AsyncCompletedEventArgs e)
{
sp.Play();
};
sp.LoadAsync();
}
原始代码仅创建了 SoundPlayer 对象,然后调用了 Play() 方法。我添加了 LoadAsync() 调用和 LoadCompleted 事件处理程序,以查看是否可以解决问题,但似乎并没有表现出任何不同。
额外信息:似乎只有应用程序第一次调用 SoundPlayer.Play() 时才会截断声音播放。随后的调用似乎正常工作。