如何在Pixel手机上使用TinyAlsa

问题描述

我正在尝试在我的Pixel手机(带有AOSP的Pixel3a内置Android-10,root)上使用TinyAlsa,并且我已经阅读了一些文档。

在编写自己的代码之前,我尝试过使用某些现有的TinyAlsa可执行文件。我最想要的是使用tinycap录制声音。但是,我搜索了Internet,但有不同的说明,这些说明都不适合我。有些人会告诉您像直接运行它

tinycap /sdcard/a.wav

有些人会告诉您添加其他选项,但仍然无济于事。我总是收到错误,然后尝试调试它,只是在ioctl上发现它未能准备通道。

我看到这样的指示,说我应该在开始捕获之前使用tinymix设置选项。但是,该示例的情况下,tinycap只有6个选项,但是Pixel设备为我提供了2000多个选项。我应该如何在我的pixel3a上运行tinycap以成功进行音频录制?非常感谢。

一些其他信息:

sargo:/ # cat /proc/asound/cards
 0 [sdm670intcodecs]: sdm670-intcodec - sdm670-intcodec-s4-snd-card
                      sdm670-intcodec-s4-snd-card

sargo:/ # ls /dev/snd/
comprC0D15 comprC0D41 hwC0D1000 hwC0D13  hwC0D141 hwC0D152  hwC0D39 hwC0D46 hwC0D71  pcmC0D10c pcmC0D14c pcmC0D19p pcmC0D24c pcmC0D33c pcmC0D39c pcmC0D6p  pcmC0D9p
comprC0D28 comprC0D42 hwC0D103  hwC0D136 hwC0D142 hwC0D16   hwC0D40 hwC0D48 hwC0D72  pcmC0D10p pcmC0D16c pcmC0D1c  pcmC0D25c pcmC0D33p pcmC0D39p pcmC0D7c  timer
comprC0D29 comprC0D43 hwC0D104  hwC0D137 hwC0D143 hwC0D3017 hwC0D41 hwC0D49 hwC0D87  pcmC0D11c pcmC0D16p pcmC0D1p  pcmC0D26c pcmC0D34c pcmC0D3c  pcmC0D90c
comprC0D30 comprC0D44 hwC0D11   hwC0D138 hwC0D144 hwC0D3033 hwC0D42 hwC0D52 hwC0D88  pcmC0D12c pcmC0D17c pcmC0D20c pcmC0D27c pcmC0D35p pcmC0D3p  pcmC0D91p
comprC0D31 comprC0D8  hwC0D119  hwC0D139 hwC0D145 hwC0D32   hwC0D43 hwC0D53 hwC0D9   pcmC0D12p pcmC0D17p pcmC0D21c pcmC0D27p pcmC0D36p pcmC0D4p  pcmC0D92c
comprC0D32 controlC0  hwC0D12   hwC0D14  hwC0D15  hwC0D33   hwC0D44 hwC0D55 pcmC0D0c pcmC0D13c pcmC0D18p pcmC0D22c pcmC0D2c  pcmC0D37p pcmC0D59c pcmC0D93c
comprC0D40 hwC0D10    hwC0D120  hwC0D140 hwC0D150 hwC0D35   hwC0D45 hwC0D56 pcmC0D0p pcmC0D13p pcmC0D19c pcmC0D23c pcmC0D2p  pcmC0D38p pcmC0D5p  pcmC0D9c

sargo:/ # tinypcminfo -D 0 -d 0
Info for card 0,device 0:

PCM out:
      Access:   0x000009
   Format[0]:   0x000444
   Format[1]:   0x000001
 Format Name:   S16_LE,S24_LE,S32_LE,S24_3LE
   Subformat:   0x000001
        Rate:   min=8000Hz  max=384000Hz
    Channels:   min=1       max=8
 Sample bits:   min=16      max=32
 Period size:   min=4       max=61440
Period count:   min=2       max=8

PCM in:
      Access:   0x000009
   Format[0]:   0x000444
   Format[1]:   0x000001
 Format Name:   S16_LE,S24_3LE
   Subformat:   0x000001
        Rate:   min=8000Hz  max=384000Hz
    Channels:   min=1       max=8
 Sample bits:   min=16      max=32
 Period size:   min=10      max=61440
Period count:   min=2       max=8

tinymix的输出太多,因此我过滤了结果,仅将与'cap'相关的条目放在此处:

sargo:/ # tinymix | grep -i cap
2397    INT 2   ADC1 Capture Volume                      23 23
2398    INT 2   ADC2 Capture Volume                      23 23
2471    INT 128 Audio Stream Capture 0 App Type Cfg      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2478    INT 128 Audio Stream Capture 1 App Type Cfg      0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2500    INT 128 Audio Stream Capture 13 App Type Cfg     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2518    INT 128 Audio Stream Capture 16 App Type Cfg     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2524    INT 1   Capture 17 Volume                        0
2527    INT 128 Audio Stream Capture 17 App Type Cfg     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2537    INT 128 Audio Stream Capture 27 App Type Cfg     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2593    INT 1   Capture 33 Volume                        0
2596    INT 128 Audio Stream Capture 33 App Type Cfg     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2599    INT 128 Audio Stream Capture 39 App Type Cfg     0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2608    INT 5   Audio Stream Capture 40 App Type Cfg     0 0 0 0 0
2618    INT 5   Audio Stream Capture 41 App Type Cfg     0 0 0 0 0
2628    INT 5   Audio Stream Capture 42 App Type Cfg     0 0 0 0 0
2638    INT 5   Audio Stream Capture 43 App Type Cfg     0 0 0 0 0
2648    INT 5   Audio Stream Capture 44 App Type Cfg     0 0 0 0 0

如果有人指出我如何使用tinycap来录制音频,将不胜感激。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)