在ADB上为Android指定的时间运行音频捕获

问题描述 投票:1回答:2

我正试图从连接到Android主板的麦克风中捕获音频。为此,我通过ADB使用tinycap。我想创建10秒长的音频文件。

当我运行命令时:

tinycap sdcard/testadudio.wav

和CTRL + C手动,它生成一个音频文件并捕获音频。用命令:

timeout 10s tinycap sdcard/testadudio.wav

它生成一个损坏的音频文件,没有音频。

有任何想法吗?

android command-line timeout adb audio-recording
2个回答
2
投票

Ctrl + C发送SIGNIT,但超时发送SIGTERM。尝试将-s INT添加到您的超时命令。


0
投票

由于隐私问题导致Android关闭任何记录音频流的尝试而未在构建中启用Tee Sink,因此无法完成此操作。 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可以让你控制录音的长度。但是,在我的桌面Linux上安装的最新版本的tinycap上运行此命令会产生不同的结果:

$ 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控制录音的长度。

© www.soinside.com 2019 - 2024. All rights reserved.