Я знаю, что это старо, но я добавлю это примечание на тот случай, если кто-то еще (например, я) прибудет на эту страницу, пытаясь найти информацию о INSERT..IGNORE.
Как упоминалось выше, если вы используете INSERT..IGNORE, ошибки, возникающие во время выполнения инструкции INSERT, рассматриваются как предупреждения.
. Одна вещь, которая явно не упоминается, заключается в том, что INSERT..IGNORE приведет к тому, что недопустимые значения будут скорректированы для самые близкие значения при вставке (тогда как недопустимые значения приведут к отмене запроса, если ключевое слово IGNORE не использовалось).
Кажется, что NAudio предоставляет то, что вы ищете
ISampleProvider
Преимущество IWaveProvider в том, что его можно использовать для представления аудио в любом формате. Он может использоваться для 16,24 или 32-битного звука PCM и даже для сжатого звука (MP3, G.711 и т. Д.). Но если вы выполняете какой-либо вид обработки или анализа сигнала на аудио, очень вероятно, что вы хотите, чтобы аудио было в формате 32-битного IEEE с плавающей запятой. И это может быть трудной попыткой прочитать значения с плавающей запятой из байта [] в C #.
Таким образом, ISampleProvider определяет интерфейс, в котором все сэмплы представляют собой 32-битные числа с плавающей запятой
blockquote>public interface ISampleProvider { WaveFormat WaveFormat { get; } int Read(float[] buffer, int offset, int.count); }
https://github.com/naudio/NAudio/blob/master/Docs. /WaveProviders.md#isampleprovider
Создайте пользовательский SampleProvider, который принимает входной SampleProvider в вашем конструкторе. Используйте входной поставщик сэмплов, чтобы получить сэмплы, умножьте их на коэффициент усиления: Выходной сэмпл = коэффициент усиления х входной сэмпл
Используйте WaveFileWriter.CreateWaveFile, передавая customSampleProvider.ToWaveProvider () к соответствующему аргументу, для вывода обратно в файл wav. ]