2022-06-29 14:45:17 +03:00

49 lines
1.4 KiB
C#

namespace Photon.Voice.Unity.UtilityScripts
{
public class MicAmplifierShort : IProcessor<short>
{
public short AmplificationFactor { get; set; }
public short BoostValue { get; set; }
public short MaxBefore { get; private set; }
public short MaxAfter { get; private set; }
//public short MinBefore { get; private set; }
//public short MinAfter { get; private set; }
//public short AvgBefore { get; private set; }
//public short AvgAfter { get; private set; }
public bool Disabled { get; set; }
public MicAmplifierShort(short amplificationFactor, short boostValue)
{
this.AmplificationFactor = amplificationFactor;
this.BoostValue = boostValue;
}
public short[] Process(short[] buf)
{
if (this.Disabled)
{
return buf;
}
for (int i = 0; i < buf.Length; i++)
{
short before = buf[i];
buf[i] *= this.AmplificationFactor;
buf[i] += this.BoostValue;
if (this.MaxBefore < before)
{
this.MaxBefore = before;
this.MaxAfter = buf[i];
}
}
return buf;
}
public void Dispose()
{
}
}
}