【发布时间】:2014-01-28 16:52:20
【问题描述】:
我创建了一个 .wav 文件,它包含一个完整的正弦波。您可以通过使用 Audacity 或类似工具打开它来进行验证。
https://mega.co.nz/#!DkR3gKia!dV9zDtdzmqHDDkEUeZviYf78SDkkxWVjUTy8kYEJnio
我想使用 C# .Net SoundPlayer 播放这个文件。喜欢这里:
static void Main(string[] args)
{
using (SoundPlayer sad = new SoundPlayer("D:\\Soundlocator\\test.wav"))
{
while (true)
{
sad.PlaySync();
Thread.Sleep(100);
}
}
}
我从示波器上看到的不到正弦波的一半。
谁能告诉我为什么? 也许我的 wav 文件头不正确?使用 vlc 或 Audacity 播放相同的文件可以让我得到预期的完整正弦波。
【问题讨论】:
-
您是否尝试过在 windows 媒体播放器中播放该 wav 文件并查看是否损坏?
-
这很奇怪。您可以尝试使用 PlayLooping 而不是 PlaySync 方法,或者摆脱 while(true) 循环吗?
-
我尝试了其他播放器。它正在正常工作。只有 SoundPlayer 会出问题。 PlayLooping 完成了这项工作,但我想在播放 wav 文件之间添加一个暂停,因此这不起作用。任何想法这是怎么可能的?我找不到问题。
标签: c# .net wav soundplayer