Tag: wave

阅读写WAV / RIFF标签

我正在编写一个简单的录音实用程序,我希望能够使用元数据标记生成的文件。 找到用ID3标签标记MP3文件的库非常容易,但我对WAV等无损编解码器以及可能的FLAC更感兴趣。 据我所知,WAVE文件实际上是RIFF文件类型的一个子集,它可以包含波形“块”和元数据“块”。 任何人都可以指向我的图书馆,规范或示例项目的方向,这将有助于我弄清楚如何从WAVE文件读取和写入这些RIFF标签? 也有人知道FLAC是否存在类似的标签,以及用于将元数据写入FLAC文件的任何好资源?

NAudio使用C#播放正弦波x毫秒

我正在使用NAudio播放给定频率的正弦波,如在博客文章中播放的Nir的Sine Wave 。 我只想让声音播放()x毫秒然后停止。 我尝试了一个thread.sleep,但声音立即停止。 我尝试了一个计时器,但是当处理WaveOut时,会出现一个跨线程exception。 我尝试了这段代码,但是当我打电话给哔哔声时,程序冻结了。 public class Beep { public Beep(int freq, int ms) { SineWaveProvider32 sineWaveProvider = new SineWaveProvider32(); sineWaveProvider.Amplitude = 0.25f; sineWaveProvider.Frequency = freq; NAudio.Wave.WaveOut waveOut = new NAudio.Wave.WaveOut(WaveCallbackInfo.FunctionCallback()); waveOut.Init(sineWaveProvider); waveOut.Play(); Thread.Sleep(ms); waveOut.Stop(); waveOut.Dispose(); } } public class SineWaveProvider32 : NAudio.Wave.WaveProvider32 { int sample; public SineWaveProvider32() { Frequency = 1000; Amplitude […]