-1
使用例如在博客上我已經輸出的正弦波:n音訊正弦波
public class SineWaveProvider32 : WaveProvider32{
int sample;
public SineWaveProvider32()
{
Frequency = 1000;
Amplitude = 0.25f; // let's not hurt our ears
}
public float Frequency { get; set; }
public float Amplitude { get; set; }
public override int Read(float[] buffer, int offset, int sampleCount)
{
int sampleRate = WaveFormat.SampleRate;
for (int n = 0; n < sampleCount; n++)
{
buffer[n+offset] = (float)(Amplitude * Math.Sin((2 * Math.PI * sample * Frequency)/sampleRate));
sample++;
if (sample >= sampleRate) sample = 0;
}
return sampleCount;
}
}
當我玩這個正弦波的無限循環。想知道如何輸出給定長度的聲音?
請勿以這種方式刪除內容。 – 2013-04-30 08:10:24