/// <summary> /// Creates a new instance of <see cref="Mp3EncoderLame"/>. /// </summary> /// <param name="ChannelCount">Channel count.</param> /// <param name="SampleRate">Sample rate (in samples per second).</param> /// <param name="OutputBitRateKbps">Output bit rate (in kilobits per second).</param> /// <remarks> /// Encoder expects audio data in 16-bit samples. /// Stereo data should be interleaved: left sample first, right sample second. /// </remarks> public Mp3EncoderLame(int ChannelCount = 1, int SampleRate = 44100, int OutputBitRateKbps = 160) { _sharpAviLame = new SharpAviLame(ChannelCount, SampleRate, OutputBitRateKbps); WaveFormat = new WaveFormatExtra(SampleRate, 16, ChannelCount, _sharpAviLame.FormatSpecificData) { Encoding = WaveFormatEncoding.Mp3 }; }
static Mp3EncoderLame() { SharpAviLame.SetLameDllLocation(Path.Combine(Path.GetDirectoryName(typeof(Mp3EncoderLame).Assembly.Location), $"lameenc{(Environment.Is64BitProcess ? 64 : 32)}.dll")); }