Преобразование PCM S16 LE (s16l) в GSM610 с использованием NAudio - PullRequest
0 голосов
/ 10 июля 2019

Я пытаюсь конвертировать аудио из PCM в GSM с помощью NAudio.При этом я получаю эту ошибку:

AcmNotPossible, вызывающий acmStreamOpen

Может кто-нибудь, пожалуйста, помогите мне решить эту проблему.

Используйте аудио детали.
Кодек : PCM S16 LE (s16l)
Канал : Моно
Частота дискретизации : 22050 Гц
Биты например : 16
ОС : Windows 10

string inFile = @"E:\temp\in.wav";
string outFile = @"E:\temp\out.wav";

var reader = new WaveFileReader(inFile);
var writer = new WaveFormatConversionStream(new Gsm610WaveFormat(), reader);
WaveFileWriter.CreateWaveFile(outFile, writer);

1 Ответ

0 голосов
/ 22 июля 2019

WaveFormatConversionStream использует драйверы ACM, установленные в вашей системе.Ошибка AcmNotPossible означает, что не было драйвера, который мог бы выполнить это преобразование.Поэтому наиболее вероятным объяснением является то, что в вашей версии Windows нет кодека GSM (или хотя бы одного, который поддерживает это конкретное преобразование).Демонстрационный проект NAudio (приложение WinForms) имеет страницу, которая перечислит установленные кодеки и покажет поддерживаемые преобразования.

...