Android — Как конвертировать 44100 стерео в 11025 моно программно?

Я использую ffmpeg (c ++) для декодирования различных аудиофайлов в 44100 стерео ИЛИ моно (в зависимости от источника). Я должен держать это так, потому что я играю в них тоже.
Между тем мне также нужно 11025 моно версий этих. Поэтому я пытаюсь найти очень быстрый / простой способ конвертировать 44100 стерео PCM в 11025 моно без ffmpeg для экономии ресурсов процессора.

Это возможно в Java (Android) или C ++ (ndk)?

Я уже использую Java и C ++ в одном проекте.

1

Решение

усреднение выборки за выборкой является правильным для преобразования стерео в моно, но для преобразования частоты дискретизации, почему бы не использовать такую ​​библиотеку, как libsamplerate? Если даже это слишком тяжело, усреднение действительно быстрое, но это не правильный метод. Является ли это приемлемым или нет, зависит от вашего приложения. Альтернативный метод описан в моем ответе на этот пост:

Как преобразовать сэмплы pcm в массив байтов в числа с плавающей запятой в диапазоне от -1,0 до 1,0 и обратно?

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]