Как записать звук 4-го входного канала - PullRequest
0 голосов
/ 27 июня 2018

У меня есть аудиокарта с 4 входными каналами: моно, стерео, 3, 4. Есть ли способ SDK для записи данных 4-го канала? Теперь я могу записывать только моно / стерео по AudioRecord.

Ответы [ 2 ]

0 голосов
/ 07 августа 2018

Записали 4-й канал аудио. Я использую Тиньялса через JNI. github.com / tinyalsa / tinyalsa
Таким образом, данные записываются из / dev / snd / pcmC1D0c, но для pcmC1D0c необходимы права root-доступа или права + rw.

0 голосов
/ 27 июня 2018

В соответствии с документами Android для AudioRecord указывается только доступная конфигурация входного канала: AudioFormat.CHANNEL_IN_MONO или AudioFormat.CHANNEL_IN_STEREO.

Однако, похоже, что в соответствии с AudioFormat docs поддерживается гораздо большее количество выходов канала (или, по крайней мере, планируется его реализовать, если это еще не сделано).

Я думаю, что это было бы проблемой само по себе, чтобы реализовать это самостоятельно, но, возможно, стоило бы сделать это (мне пока не удалось найти каких-либо очевидных решений для этого или любого открытого исходного кода). Однако пример в магазине приложений существует, поэтому это возможно через интерфейс USB в соответствии с приложением USB Audio Recorder Pro .

JUCE (библиотека C ++, основанная главным образом на аудио, которая может компилироваться непосредственно в Android .apk s), похоже, работает над этим, но я пока не видел решения для этого (возможно, в очень ближайшее будущее).

Я думаю, вам нужно было бы перейти непосредственно к OpenSL (C ++ с JNI), чтобы получить необработанный звук, который получен, а затем передать его обратно в Java, чтобы делать с ним все, что вы хотели. Вероятно, стоит изучить запись OpenSL через USB-устройства с чем-то вроде this , чтобы начать.

Я знаю, что это много ссылок, но, надеюсь, это поможет вам начать работу, если вы захотите реализовать эту функцию (прокомментируйте ссылку, если вы когда-либо ее запускали).

В противном случае, я надеюсь, это помогло в любом случае!

...