Mik*_*ton 5 .net c# audio winapi
我正在尝试从嵌入式资源播放 WAV,但它总是在开始时出现 0.5 到 2.0 秒的中断。也就是说,如果 WAV 是录制的声音,说“大家好。今天的新闻...”,那么播放通常会从一开始就切断“大家好——”。
播放代码非常简单:
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();
}
Run Code Online (Sandbox Code Playgroud)
原始代码只是创建了SoundPlayer对象,然后调用了Play()方法。我添加了LoadAsync()调用和LoadCompleted事件处理程序以查看是否解决了问题,但它的行为似乎没有任何不同。
附加信息:似乎声音播放仅在应用程序第一次调用SoundPlayer.Play()时被切断。随后的调用似乎工作正常。
应该没有问题。尝试将 wav 放入文件并从文件中播放。如果问题仍然出现,我认为您应该检查声卡的各种效果设置,例如淡入淡出。
尝试播放“C:\Windows\Media\chord.wav”,它很短,甚至不到一秒。
System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"C:\Windows\Media\chord.wav");
player.Play();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2086 次 |
| 最近记录: |