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音讯项目位于: