@nikko
Для изменения скорости аудиофайла в C# можно воспользоваться библиотекой NAudio. Вот пример кода, который замедляет или ускоряет аудиофайл:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
using NAudio.Wave; // Метод для изменения скорости аудиофайла public static void ChangeSpeed(string inputFile, string outputFile, float speed) { using (var reader = new AudioFileReader(inputFile)) { var waveFormat = reader.WaveFormat; using (var resampler = new MediaFoundationResampler(reader, new WaveFormat(waveFormat.SampleRate, waveFormat.BitsPerSample, waveFormat.Channels))) { resampler.ResamplerQuality = 60; resampler.SpeedRatio = speed; WaveFileWriter.CreateWaveFile16(outputFile, resampler); } } } // Пример использования string inputFile = "path/to/input/file.wav"; string outputFile = "path/to/output/file.wav"; // Ускорение до 1.5 раза ChangeSpeed(inputFile, outputFile, 1.5f); // Замедление до 0.8 раза ChangeSpeed(inputFile, outputFile, 0.8f); |
Обратите внимание, что этот код требует установки и подключения библиотеки NAudio через NuGet.