У меня есть приложение, которое записывает образец речи с микрофона пользователя и загружает его на сервер, который затем что-то с ним делает. Кажется, я должен записывать со следующими параметрами, чтобы избежатьIllegalArgumentException
:
Encoding encoding = AudioFormat.Encoding.PCM_SIGNED;
float sampleRate = 44100.0F;
int sampleSizeInBits = 16;
int channels = 2;
int frameSize = 4;
float frameRate = 44100.0F;
boolean bigEndian = false;
Но мне нужно, чтобы он был записан с частотой 16 кГц, а не 44,1, (sampleRate и частота кадров, я полагаю, ), и он должен быть в моно (1 канал ). Подпись PCM также обязательна, так что это хорошо. (Сервер ОЧЕНЬ требователен, и я не могу вносить в него какие-либо изменения. )Как я могу преобразовать это с помощью Java?
Я отправляю аудиофайл через HttpClient как Filebody в сервлет, сохраняю его на сервере и затем обрабатываю.