Моя цель - пропустить тишину при воспроизведении.
Это мой код
...
double v1 = 500;
float v2 = 0.005F;
double v3 = 40;
meter = new MeteringSampleProvider(AudioFileReaderObject);
meter.StreamVolume += Meter_StreamVolume;
meter.SamplesPerNotification = v1;
...
private void Meter_StreamVolume(object sender, StreamVolumeEventArgs e)
{
if (e.MaxSampleValues.Length > 0)
{
Console.WriteLine("{0}", e.MaxSampleValues[0]);
if (e.MaxSampleValues[0] < v2 && AudioFileReaderObject.TotalTime.TotalMilliseconds > AudioFileReaderObject.CurrentTime.TotalMilliseconds + v3)
{
Console.Write("Correction " + AudioFileReaderObject.CurrentTime);
AudioFileReaderObject.CurrentTime += TimeSpan.FromMilliseconds(v3);
Console.WriteLine(" -> "+AudioFileReaderObject.CurrentTime);
}
}
}
Вывод либо не удаляет тишину, либо прерывает все.
Какоптимизировать v1, v2 и v3?