C# NAudio MicroPhone 볼륨 조절
private void sourceStream_DataAvailable(object sender, NAudio.Wave.WaveInEventArgs e)
{
byte[] encoded = e.Buffer;
if (reLen + encoded.Length < 70000)
{
if (recordingFirstSkip > 6)
{
encoded.CopyTo(recordingStream, reLen);
int i;
float multiplier = 12.0f; // 볼륨 Gain
for (i = 0; i < encoded.Length; i = i + 2)
{
Int16 sample = BitConverter.ToInt16(encoded, i);
sample = (Int16)(sample * multiplier);
byte[] sampleBytes = BitConverter.GetBytes(sample);
encoded[i] = sampleBytes[0];
encoded[i + 1] = sampleBytes[1];
}
encoded.CopyTo(recordingStream2, reLen);
reLen += encoded.Length;
}
else
{
encoded.CopyTo(recordingStream, reLen);
encoded.CopyTo(recordingStream2, reLen);
recordingFirstSkip++;
}
}
}