Windows
7
上安装Microsoft
Loopback
Adapter(微软环回网卡)
Microsoft
Loopback
Adapter
(微软环回网卡)类似一个虚拟网卡,能够被安装在一个没有网卡或者要用于测试多个宿主环境的
Windows
上。相信不少
IT
Pro
对此是相当熟悉的。但是在
Widnows
7
上按照往常的方法使用添加硬件向导并不能继续之后的手工安装设备的步骤,如下图所示:
android使用Alsa Aloop录制系统内部声音 原创2022-04-24 19:12:49
这歌声无聊可是辉煌
码龄10年
关注
alsa aloop是alsa提供的内部loopback功能,可以用来实现录制系统内部声音,在没有硬件支持loopback功能时可以采用这种软件loopback的实现来代替。
alsa aloop实现了一个虚拟的声卡。
在kernel的编译配置选项文件中加入CONFIG_SND_ALOOP=y之后烧录到平台中声卡会多出两个pcm设备:
即
00-00: Loopback PCM : Loopback PCM : playback 8 : capture 8
00-01: Loopback PCM : Loopback PCM : playback 8 : capture 8
注意到此时原先板载的实际声卡的index将变为1,因为aloop注册比较早
有了这两个节点之后就可以使用tinyplay和tinycap来验证。
使用方法为:
tinyplay 写入card 0 device 0,同时tinycap从card 0 device 1录制
tinyplay /data/8ch_16bit.wav -d 0&tinycap /data/test.wav -d 1 -c 8 -r 48000 -b 16 <
[1] 8228
Playing sample: 8 ch, 48000 hz, 16 bit
Capturing sample: 8 ch, 48000 hz, 16 bit
注意的是打开的参数如采样率 位深和ch数要与录制的时候保持一致,否则会提示参数非法而打开失败。
这一步验证完成之后要实现在android里使用aloop录制系统声音则需要在audo hal中pcm_open,pcm_close,pcm_write实际声卡的地方一样加上 *** 作aloop的虚拟声卡0,
在android P上调试发现使用pcm_open打开aloop device输出时传递的alsa config参数也有限制:
period_size = 1024
period_count = 4
period_size 和period_count 需要,不超过1024和4,否则一样会open失败 提示参数非法。
最后贴下alsa aloop的数据流向:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)