Я создал sox для Android
и использую сгенерированные двоичные файлы, т.е. sox, rec, play and soxi
, сгенерированные непосредственно в моем приложении, установив их как двоичные файлы в моем приложении.
Я могу вызывать команды, используя sox
напрямую, однако у меня проблема с вызовом команды rec
.
Я использовал следующую команду, rec -r 8000 -c 2 output.wav
Но не могу сказать, что sox is not found
или sox is expected but is not found
.
Приведенная выше команда rec отлично работает в Ubuntu, когда я использую ее в командной строке.
Обратите внимание, что я могу успешно использовать операции, связанные с двоичным файлом sox
, но я не могу использовать команды, связанные с двоичным файлом rec
.
Первоначально я думал, что проблема может быть из-за разрешений, налагаемых Android, поэтому я включил эти разрешения в manifest.xml
, но безрезультатно.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
Я провел небольшое исследование и получил эту ссылку, в разделе Использование Sox для Воспроизведите и запишите, что некоторые системы Linux могут не принимать команду rec
напрямую.
Я последовал его предложению и добавил к своим командам padsp
и т. д., но это все равно не работает.
Итак, мой вопрос: как мне успешно вызвать команду rec в системе Android, кто-нибудь пробовал это раньше?