工具与软件:
解决方法
root@beagletest:~# cat /proc/asound/WzlE3ipAout/pcm0p/sub0/hw_params
闭合
root@beagletest:~# cat /proc/asound/cards
0 [WzlE3ipAout ]: WzlE3ipAout - WzlE3ipAout
WzlE3ipAout
root@beagletest:~# cat /proc/asound/WzlE3ipAout/pcm0p/info
卡:0
器件:0
子器件:0
STREAM:回放
ID:E3IP-TAS5508C-Stream tas5508c-PWM-0
名称:E3IP-TAS5508C-Stream tas5508c-PWM-0
subname:subdevice #0
类别:0
子类:0
subdevices_count:1.
subdevices_avail:1.
要指定硬件参数、我们需要:
- 将类型为 snd_pcm_hw_params_t 的变量分配给 堆(如我们将要做的那样)上的堆(snd_pcm_hw_params_alloc)或堆(snd_pcm_hw_params_malloc)。
- 用 PCM 的完整配置空间(SND_PCM_HW_PARAMS_ANY)填充参数。
- 使用 SND_PCM_HW_PARAMS_SET_*函数限制配置空间 。
- "安装"或设置器件的参数(SND_PCM_HW_PARAMS)。
snd_pcm_hw_params_t *hw_params;
snd_pcm_hw_params_alloca(&hw_params);
snd_pcm_hw_params_any(pcm, hw_params);
snd_pcm_hw_params_set_access(pcm, hw_params, SND_PCM_ACCESS_RW_INTERLEAVED);
snd_pcm_hw_params_set_format(pcm, hw_params, SND_PCM_FORMAT_S16_LE);
snd_pcm_hw_params_set_channels(pcm, hw_params, 1);
snd_pcm_hw_params_set_rate(pcm, hw_params, 48000, 0);
snd_pcm_hw_params_set_periods(pcm, hw_params, 10, 0);
snd_pcm_hw_params_set_period_time(pcm, hw_params, 100000, 0); // 0.1 seconds
snd_pcm_hw_params(pcm, hw_params);