#android #command-line #timeout #adb #audio-recording
#Android #командная строка #тайм-аут #adb #аудиозапись
Вопрос:
Я пытаюсь захватить звук с микрофона, который я подключил к плате Android. Для этого я использую tinycap через ADB. Я хочу создавать аудиофайлы длиной 10 секунд.
Когда я запускаю команду:
tinycap sdcard/testadudio.wav
и CTRL C вручную, он генерирует аудиофайл и захватывает звук. С помощью команды:
timeout 10s tinycap sdcard/testadudio.wav
Он генерирует поврежденный аудиофайл без звука.
Есть идеи?
Комментарии:
1. Работает ли это на некорневых телефонах?
2. Как вы нашли конфигурации tinymix для записи? Я ищу конфигурацию tinymix для записи голосового вызова, но я не знаю, где я могу найти конфигурации tinymix
Ответ №1:
Ctrl C отправляет SIGNIT
, но время ожидания отправляет SIGTERM
. Попробуйте добавить -s INT
в свою команду тайм-аута.
Ответ №2:
Это невозможно сделать, поскольку из-за проблем с конфиденциальностью Android отключает любые попытки записи аудиопотока без включения приемника Tee в сборке. https://source.android.com/devices/audio/debugging
Несмотря на это, следующая часть ответа касается tinycap:
Хотя фактические аргументы могут отличаться, tinycap
на самом деле, похоже, это поддерживает.
Выполняется
$ adb -d shell tinycap
Usage: tinycap file.wav [-D card] [-d device] [-c channels] [-r rate]
[-b bits] [-p period_size] [-n n_periods] [-T capture time]
указывает, что -T
это позволит вам контролировать длину записи. Однако запуск этого в последней версии tinycap
, установленной на моем рабочем столе linux, дает другой результат:
$ tinycap
Usage: tinycap {file.wav | --} [-D card] [-d device] [-c channels] [-r rate]
[-b bits] [-p period_size] [-n n_periods] [-t time_in_seconds]
Use -- for filename to send raw PCM to stdout
Здесь, похоже, -t
контролируется длина записи.