RK3308--查看各声卡状态

参考链接

查看音频声卡

查看当前Soc的声卡状态

从这里可以看出:
card0=rockchiprk3308v
card1=rockchiprk3308p
card7=Loopback

# cat /proc/asound/cards
 0 [rockchiprk3308v]: rockchip_rk3308 - rockchip,rk3308-vad
                      rockchip,rk3308-vad
 1 [rockchiprk3308p]: rockchip_rk3308 - rockchip,rk3308-pcm
                      rockchip,rk3308-pcm
 7 [Loopback       ]: Loopback - Loopback
                      Loopback 1 
# ls /proc/asound/
Loopback         card7            pcm              timers
card0            cards            rockchiprk3308p  version
card1            devices          rockchiprk3308v                    

查看当前声卡工作状态

声卡分两种通道,一种是Capture、一种是PlaybackCapture是输入通道,Playback是输出通道。例如pcm0p属于声卡输出通道,pcm0c属于声卡输入通道。如查看声卡0目录:

# ls /proc/asound/card0/
id     pcm0c  pcm0p

查看输入和输出通道状态

  • state:当前输出运行状态
  • owner_pid:调用者的线程号
  • delay:当前buffer中可用数据大小(单位为:帧)
  • avail:当前buffer中空闲空间大小(单位为:帧)[为pcm*c录音时,该值为可用数据大小]
  • hw_ptr:alsa驱动读取指针位置 [为pcm*c录音时,该值为 alsa驱动写入指针位置]
  • appl_ptr:alsa写入数据者的指针位置 [为pcm*c录音时,该值为alsa读取数据者的指针位置]

查看 card0 的所有输入和输出通道状态

cat /proc/asound/card0/pcm*c/sub0/status
cat /proc/asound/card0/pcm*p/sub0/status
# cat /proc/asound/card0/pcm*c/sub0/status
closed
# cat /proc/asound/card0/pcm*p/sub0/status
state: RUNNING
owner_pid   : 563
trigger_time: 13.031943547
tstamp      : 948.287271452
delay       : -44892240
avail       : 44896336
avail_max   : 44896336
-----
hw_ptr      : 44892240
appl_ptr    : 0

查看 card1 的所有输入和输出通道状态

# cat /proc/asound/card1/pcm*c/sub0/status
closed
# cat /proc/asound/card1/pcm*p/sub0/status
closed

查看 card7 的所有输入和输出通道状态

# cat /proc/asound/card7/pcm*c/sub0/status
closed
state: RUNNING
owner_pid   : 563
trigger_time: 13.048954714
tstamp      : 0.000000000
delay       : 48
avail       : 48
avail_max   : 1056
-----
hw_ptr      : 77933904
appl_ptr    : 77933856
# 
# cat /proc/asound/card7/pcm*p/sub0/status
closed
closed

查看当前通道的软件参数

  • format:当前数据位宽
  • channels:当前声道数
  • rate:当前采样率
  • period:单次处理数据的大小(单位为:帧)
  • buffer_size:alsa 的buffer大小(单位为:帧)

查看 card0 软件通道参数:

# cat /proc/asound/card0/pcm0c/sub0/hw_params
closed
# 
# cat /proc/asound/card0/pcm0p/sub0/hw_params
access: MMAP_INTERLEAVED
format: S16_LE
subformat: STD
channels: 2
rate: 48000 (48000/1)
period_size: 1024
buffer_size: 4096

通过buffer_size可计算出buffer的时间长度:4096/48000*1000=85.3ms

查看 card1 软件通道参数:

# cat /proc/asound/card1/pcm0c/sub0/hw_params
closed
# cat /proc/asound/card1/pcm0p/sub0/hw_params
closed

查看当前通道的硬件参数

查看 card0 的硬件通道参数:

  • start_threshold:当起播时buffer中的可用数据大小大于等于start_threshold时alsa才启动播放
  • stop_threshold:当播放过程中buffer空闲大小大于等于stop_threshold时alsa停止播放
  • boundary:虚拟的buffer大小(一个回卷的大小)
# cat /proc/asound/card0/pcm0p/sub0/sw_params
tstamp_mode: ENABLE
period_step: 1
avail_min: 1024
start_threshold: 1
stop_threshold: 4611686018427387904
silence_threshold: 0
silence_size: 4611686018427387904
boundary: 4611686018427387904
# cat /proc/asound/card0/pcm0c/sub0/sw_params
closed
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值