3
我把現有的單(非立體聲)n音訊例如爲Visual Studio 2010的:n音訊 - 如何正弦波只發送給一個音頻通道上的插孔
http://mark-dot-net.blogspot.com/2009/10/playback-of-sine-wave-in-naudio.html
,並改變了它有兩個如下所示聲道立體聲音頻:
public abstract class WaveProvider32 : IWaveProvider
{
public WaveProvider32() : this(44100, 2) // Was 44100, 1
{
}
.
.
.
}
當試圖將正確的採樣值在緩衝器中的第一浮子和 在第二浮子在緩衝液中的零,我期待以取得該正弦波 右聲道,左側沒有音頻。
我看到在左聲道與右聲道之間,相位正弦波的相位正弦波 的振幅相同,幅度降低了10倍。
這是從某種信號流血或我不理解代碼應該如何工作?
下面是我如何改變WaveProvider32樣本:
public class SineWaveProvider32 : WaveProvider32
{
.
.
.
public override int Read(float[] buffer, int offset, int sampleCount)
{
int sampleRate = WaveFormat.SampleRate;
for (int n = 0; n < sampleCount; n += 1)
{
buffer[n+offset] = (float)(Amplitude * Math.Sin((2 * Math.PI * sample * Frequency)/ sampleRate));
buffer[n+offset+1] = (float)(0);
sample++;
if (sample >= sampleRate)
{
sample = 0;
}
}
return sampleCount;
}
}
什麼,我做錯了什麼建議?
問候
注:n音訊項目位於: