Android 中并没有使用标准的 ALSA,而是使用一个 ALSA 的简化版叫做 tinyalsa。ALSA是Advanced Linux Sound Architecture,高级Linux声音架构的简称,它在Linux操作系统上提供了音频和MIDI(Musical Instrument Digital Interface,音乐设备数字化接口)的支持。

/proc信息诸如usb描述符转储之类的硬件依赖。内容取决于驱动程序作者,因此实际上不可能有完整的一般描述。也就是说,ALSA确实具有大多数驱动程序都遵循的某些标准。

Android 中使用 tinyalsa 控制管理多种模式的音频通路,我们也可以使用 tinyalsa 提供的四个工具tinymix、tinycap、tinyplay、tinypcminfo进行对音频的查看、调试。

/system/bin/tinyplay
​ tinyplay用于播放tinycap采集的pcm或wav格式录音,不能进行 MP3 等格式的编码,支持 44.1kHz,48kHz 采样率的wav 音乐,使用方法
tinyplay 文件储存目录/test.pcm -D 0 - d 0
tinycap 文件存储目录/test.pcm -D 0 -d 0 -c 4 -r 44100 -b 16 -p 512 -n 6
参数说明:D 声卡 d 当前声卡下的录音或放音设备 c 通道数 r 采样率 b 采样深度 -p 中断帧数 n 周期

/system/bin/tinycap
tinycap用于采集系统录音,可以通过指令设置不用采样率,不同采样深度,不同声道的录音,使用方法

/system/bin/tinymix
tinymix 可以得到音频通路相关的各项配置参数。也可以通过添加参数修改其中的配置

/system/bin/tinypcminfo
tinypcminfo 查看设备信息
tinypcminfo -D 0 -d 0
查看1号声卡的1号设备信息adb rot
Usage: /system/bin/tinypcminfo -D card -d device

1|G8142:/system/bin # tinypcminfo -D 0 -d 0
Info for card 0, device 0:PCM out:Access:   0x000009Format[0]:   0x000444Format[1]:   0x000001Format Name:   S16_LE, S24_LE, S32_LE, S24_3LESubformat:   0x000001Rate:   min=8000Hz      max=384000HzChannels:   min=1           max=8Sample bits:   min=16          max=32Period size:   min=4           max=61440
Period count:   min=2           max=8PCM in:Access:   0x000009Format[0]:   0x000444Format[1]:   0x000001Format Name:   S16_LE, S24_LE, S32_LE, S24_3LESubformat:   0x000001Rate:   min=8000Hz      max=384000HzChannels:   min=1           max=8Sample bits:   min=16          max=32Period size:   min=10          max=61440
Period count:   min=2           max=8

TinyALSA本身提供的基本文件:
/proc/asound/card0
/proc/asound/card0/codecs/bolero/version

BOLERO_1_2

/proc/asound/card0/codecs/wcd938x/version

WCD938X_1_0

/proc/asound/card0/compr11

card: 0
device: 11
stream: PLAYBACK
id: (Compress2)

/proc/asound/card0/pcm0c/info

card: 0
device: 0
subdevice: 0
stream: CAPTURE
id: MultiMedia1 (*)
name:
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

/proc/asound/card0/pcm12p/info

card: 0
device: 12
subdevice: 0
stream: PLAYBACK
id: MultiMedia10 (*)
name:
subname: subdevice #0
class: 0
subclass: 0
subdevices_count: 1
subdevices_avail: 1

/proc/asound/cards

 0 [konamtpsndcard ]: kona-mtp-snd-ca - kona-mtp-snd-cardkona-mtp-snd-card

/proc/asound/devices

  2: [ 0- 0]: digital audio playback3: [ 0- 0]: digital audio capture4: [ 0- 1]: digital audio playback

/proc/asound/hwdep

00-1000: Codec w
00-3013:
00-3029:
00-09:
00-10:
00-16:
00-15:

/proc/asound/pcm

00-00: MultiMedia1 (*) :  : playback 1 : capture 1
00-01: MultiMedia2 (*) :  : playback 1 : capture 1
00-02: VoiceMMode1 (*) :  : playback 1 : capture 1
00-03: VoIP (*) :  : playback 1 : capture 1
00-04: MultiMedia3 (*) :  : playback 1
00-05: AFE-PROXY RX msm-stub-rx-5 :  : playback 1
00-06: AFE-PROXY TX msm-stub-tx-6 :  : capture 1
00-08: AUXPCM Hostless (*) :  : playback 1 : capture 1
00-09: MultiMedia5 (*) :  : playback 1 : capture 1
00-10: Listen 1 Audio Service (*) :  : capture 1
00-12: MultiMedia10 (*) :  : playback 1 : capture 1
00-13: MM_NOIRQ (*) :  : playback 1 : capture 1
00-14: HDMI_RX_HOSTLESS (*) :  : playback 1
00-15: VoiceMMode2 (*) :  : playback 1 : capture 1
00-16: Listen 2 Audio Service (*) :  : capture 1
00-17: Listen 3 Audio Service (*) :  : capture 1
00-18: Listen 4 Audio Service (*) :  : capture 1
00-19: Listen 5 Audio Service (*) :  : capture 1
00-20: Listen 6 Audio Service (*) :  : capture 1
00-21: Listen 7 Audio Service (*) :  : capture 1
00-22: Listen 8 Audio Service (*) :  : capture 1
00-23: MultiMedia9 (*) :  : playback 1 : capture 1
00-29: MM_NOIRQ_2 (*) :  : playback 1 : capture 1
00-30: Tertiary TDM1 Hostless Playback multicodec-30 :  : playback 1
00-31: TX3_CDC_DMA Hostless tx_macro_tx2-31 :  : capture 1
00-32: Tertiary MI2S_TX Hostless Capture (*) :  : capture 1
00-33: WSA CDC DMA0 Capture snd-soc-dummy-dai-33 :  : capture 1
00-34: MultiMedia6 (*) :  : playback 1 : capture 1
00-35: USB Audio Hostless (*) :  : playback 1 : capture 1
00-36: SLIMBUS_7 Hostless (*) :  : playback 1 : capture 1
00-38: SLIMBUS_8 Hostless (*) :  : playback 1 : capture 1
00-39: TX CDC DMA5 Capture tx_macro_tx3-39 :  : capture 1
00-40: Secondary MI2S_RX Hostless (*) :  : playback 1
00-41: CDC_DMA Hostless_ULTRA rx_macro_rx2-41 :  : playback 1
00-42: TX3_CDC_DMA Hostless_ULTRA tx_macro_tx2-42 :  : capture 1
00-43: Primary MI2S_TX Hostless (*) :  : capture 1

/proc/asound/timers

P0-0-0: PCM playback 0-0-0 : SLAVE
P0-0-1: PCM capture 0-0-1 : SLAVE
P0-1-0: PCM playback 0-1-0 : SLAVE

/proc/asound/version

Advanced Linux Sound Architecture Driver Version k4.19.113-perf-gc4a197dac507.

由ALSA本身提供的基本文件:

/proc/asound/dev/ :一个目录,列出如果系统使用devfs则程序用于声音操作的特定设备文件,该目录将存在:如果您的系统不使用devfs(从2006-06开始,大多数不使用):该文件要么不根本存在,或者仅仅是与之的符号链接 /dev/snd

/proc/asound/devices (只读):已注册的ALSA设备列表(主设备号= 116)

/proc/asound/hwdep (只读):hwdep(硬件依赖)控件的列表未在所有系统上出现(这是否仍然存在?)

/proc/asound/meminfo (只读):内存使用情况信息,此proc文件仅在使用内存调试(或完整)选项构建alsa驱动程序时才会显示:当前在内核空间上分配的内存。

/proc/asound/modules(只读):已注册的ALSA声卡驱动程序列表,这不是ALSA加载的所有内核模块,这只是:硬件驱动程序的列表。对于使用中的每个声卡,期望在此处看到一行。

/proc/asound/oss/ :包含有关oss仿真的信息的目录,有关此目录内容的信息,请参见下文。

/proc/asound/pcm(只读):分配的pcm流的列表,请注意,这(可能)并不表示活动流的列表,而是设备的列表。这对于找出hw:0,0样式的设备非常有用:像aplay这样的命令需要的名称。

/proc/asound/seq/ :包含有关音序器信息的目录,有关此目录内容的信息,请参见下文。

/proc/asound/timers(只读):类似于/proc/asound/pcm,它是ALSA知道的计时器列表,并且描述了:在该时刻实际使用了哪些计时器。

/proc/asound/version (只读):ALSA子系统模块(或内核)的版本和日期

安卓声卡查看
进入到 proc/asound 路径下,查看cards文件
card0 card1 分别为两张声卡


linux怎么查看硬件设备信息?

建议直接进主板的bios查看硬件信息,

linux的话看具体什么版本了,指令可能有些小差异,

linux指令:

1、 主板信息

#查看BIOS信息

dmidecode | grep -A 28 “BIOS Information”

#查看主板型号信息

dmidecode |grep -A 10 “Base Board Information”

dmidecode -t baseboard

2,、cpu信息

#通过/proc文件系统

cat /proc/cpuinfo

#通过查看开机信息

dmesg | grep -i ‘cpu’

dmidecode -t processor

2c54398d729ea915da27e522040aa4d1.png

3、 硬盘信息

#查看分区情况

fdisk -l

#查看大小情况

df -h

#查看使用情况

du -h

hdparm -I /dev/sda

dmesg | grep sda

4、内存信息

  1. cat /proc/meminfo

  2. dmesg | grep mem

  3. free -m

  4. vmstat

  5. dmidecode -t memory

5、网卡信息

  1. dmesg | grep -i ‘eth’

  2. cat /etc/sysconfig/hwconf | grep -i eth

  3. lspci | grep -i ‘eth’

6、网络流量

1)iptraf

  1. nLoad

7、鼠标键盘和USB信息

查看键盘和鼠标:cat /proc/bus/input/devices


查看USB设备:cat /proc/bus/usb/devices

查看各设备的中断请求(IRQ):cat /proc/interrupts

8、 显卡信息

1)lspci |grep -i ‘VGA’

2)dmesg | grep -i ‘VGA

linux audio A2B相关推荐

  1. LWN:Linux audio plugin APIs综述!

    关注了就能看到更多这么棒的文章哦- An introduction to Linux audio plugin APIs April 21, 2022 This article was contrib ...

  2. [Linux Audio Driver] Qualcomm平台音频GMS认证器件要求

    从GMS测试常见的fail项来明确其器件要求,常见的fail测试项主要是以下三个: 后面是分析,要看结论的话直接拉到文末: 一:Audio Frequency Speaker Test 此测试使用外部 ...

  3. [Linux Audio Driver] SM6350平台音频bring up ( 一 )

    0. 背景 这个是高通5G平台,音频的内容改的比较多,比较直接的是platform.c就直接移动到vendor了:目前 高通那边的趋势还是把音频逐渐从kernel剥离,android 7/androi ...

  4. [Linux Audio Driver] Android 10 machine driver probe函数分析

    0. 背景 平台:Qualcomm 5G SM6350.android10.kernel version: msm-4.19. 本文重点分析machine driver里面的msm_asoc_mach ...

  5. [Linux Audio Driver] Android7 外部PA Speaker代码结构

    0. 背景 平台:MSM8953 kernel version: msm-3.18. 1. enable_spk_ext_pa 代码路径:LA.UM.5.6\kernel\msm-3.18\sound ...

  6. [Linux Audio Driver] 从设备地址理解

    背景: 以前调试了一个音频codec芯片es7543,当时在想这个codec_name如何配置: 网上看了些调试codec的心得文档,有的博主瞎写,以这个es7243e.5-0010为例, 说es72 ...

  7. [Linux Audio Driver] 高通平台内部MIC_BIAS简介

    #更新 2020.05.10 我觉得我这个标题取的不是很妥当,为了表达对技术的敬畏之心,我将原标题 <一文搞懂内部MIC_BIAS>修改为<高通平台内部MIC_BIAS简介> ...

  8. Linux Audio (6) DAPM-3 damp的kcontrol注册过程

    DAPM-3 damp的kcontrol注册过程 普通kcontrol DAMP kcontrol 第一步 codec驱动add widget 第二步 Mechine驱动add kcontrol da ...

  9. [Linux Audio Driver] 移植外部CODEC常见编译报错解决(持续更新)

    0. 背景 最近一直在调试codec芯片,好多代码FAE给的和平台不适配,比如结构体改了之类的,一些编译问题老是忘记,就想着顺手写下总结. 1. function definition is not ...

最新文章

  1. python工程师-如何面试Python后端工程师?
  2. 设计需要冲击力:「不怕没品味的人,就怕没品味的人用心」
  3. Python-学生信息管理系统.exe(代码)
  4. Windows Terminal 完全配置教程(主题以及启动设置)
  5. 【NOIP模拟】开車【回退贪心】【multiset】
  6. 差分进化算法python_差分进化算法Python实现
  7. Android网络库的比较:OkHTTP,Retrofit和Volley [关闭]
  8. 非递归归并排序详细分析
  9. read和write函数
  10. PS之PS 删除时出现无法完成请求,因为智能对象不能直接进行编辑。
  11. Java菜鸟学习编写第一个java程序HelloWorld
  12. 深度学习(四十六)——StarGAN, InfoGAN, ProGAN, StyleGAN, BigGAN, FUNIT, CVAE
  13. 汉字编码对照表(gb2312/Big5/GB2312)
  14. 微机原理是微型计算机与接口技术吗,《微机原理与接口技术》课程教学大纲
  15. iPhone屏幕分辨率开发尺寸
  16. TS进阶之infer
  17. 消费金融及物流概念介绍
  18. 经纬度转小数格式 java_经纬度格式转换工具
  19. 为什么网上工商银行安装了U盾不能上网站了?
  20. 一个微服务业务系统的中台构建之路

热门文章

  1. 『转』度百死去飞秋一个BUG引发的血案
  2. 一个简单的完成端口(服务端/客户端)类
  3. .net控件FreeTextBox使用方法
  4. 经典面试题(29):以下代码将输出的结果是什么?
  5. 通俗易懂,先来认识一下Vuex
  6. 大一计算机在线考试,大一计算机考试题(含答案).pdf
  7. apk android lite,APKPure Lite
  8. mysql 冗余外键 同步_由于外键约束导致mysql同步出问题的故障
  9. PyQt5中使用代码实现嵌套布局
  10. 史上最全AI论文集结:近千篇论文分门别类整理好