【intel程序猿笔记】与英特尔® Edison开发板一起摇滚
2015-08-041万
AI 快速预览详细
本文介绍了使用英特尔® Edison开发板进行音频环回的三种方法:从USB耳机环回音频、通过USB声音设备环回A2DP流以及将A2DP流环回至A2DP远程设备。每种方法都提供了详细的步骤和命令示例,帮助用户轻松实现音频环回。
|
不知道是不是学习中时间流逝的特别快,转眼,【intel程序猿笔记】专栏已经开设了5期了,今天将是专栏最后一期(小编心塞塞~~~舍不得啊~),希望这一个多月的时间的互动答题环节,让各位小伙伴对Edison有了新的认识和理解.
下面,让我们一起回顾下上周的互动情况——
上周有奖问答题目是:

正确答案是选项B,答对的小伙伴是

恭喜@hnyzcj @大连林海 @丄帝De咗臂 @vcbear @Ash @LeoSunshine @Cain @吹口琴的钢铁侠 @Qubot @凌风清羽 ,这十位小伙伴将获得一份intel礼品一份。本周是最后一期互动答题,小伙伴们再接再厉,大满贯在向你们招手啊!
话不多说,上干货:更多干活内容,戳原文
与英特尔® Edison开发板一起摇滚

本篇指导性文章旨在介绍借助英特尔® Edison 开发板获取和播放声音的不同方法。
在此我们仅介绍环回方法,因为这类方法的交互性更强 ,而且能够令 Edison 开发板的表现无异于一台互联设备。
如果用户希望回放声音文件,必须使用通过蓝牙连接的 基于外部 A2DP 的播放器。
本文将介绍三种方法:
- 从 USB 耳机并通过该耳机环回音频
- 通过 USB 声音设备环回 A2DP 流
- 将 A2DP 流环回至 A2DP 远程设备
硬件:
- 带有基于 Arduino 的扩展版的英特尔 Edison 开发板
- USB 音频设备(最好是 USB 耳机)
- A2DP 设备,用于将音频发送至开发板(比如智能手机)
- A2DP 设备,用于播放开发板的音频(比如蓝牙扬声器)
软件:
或者 2015 年之后生产的映像。
从 USB 耳机并通过该耳机环回音频分步指南
1. 将 SW1(主 USB 和迷你 USD 端口之间)移动至离迷你 USB 端口最近的位置,以激活 USB 托管模式。 使用这种模式时需要用到外部电源。
2. 插入 USB 耳机。
3. 检查设备是否安装正确:
root@edison:~# cat /proc/asound/pcm00-00: Loopback PCM : Loopback PCM : playback 8 : capture 800-01: Loopback PCM : Loopback PCM : playback 8 : capture 801-00: USB Audio : USB Audio : playback 1 : capture 1
在本示例中,插入 USB 耳机后,您将看到多台由该 USB 设备连接的回放和捕捉设备。
root@edison:~# pactl list | grep Name | grep usbName: alsa_output.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-stereoName: alsa_output.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-stereo.monitorName: alsa_input.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-monoName: alsa_card.usb-JABRA_Jabra_BIZ_620_USB-00-USB
4. 将 USB 捕捉设备环回至 USB 回放设备。
借助 pulseAudio 模块 "module-loopback" 可实现环回音频流。
该环回模块需要根据您的设备名称进行加载和配置:
pactl load-module module-loopback source=<name of your source device> sink=<name of sink device>
例如:
root@edison:~# pactl load-module module-loopback source=alsa_input.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-mono sink=alsa_output.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-stereo
5. 对准麦克风说话,检查耳机端的声音。
通过 USB 声音设备环回 A2DP 流分步指南
1. 将 SW1(主 USB 和迷你 USD 端口之间)移动至离迷你 USB 端口最近的位置,以激活 USB 托管模式。 使用这种模式时需要用到外部电源。
2. 插入 USB 耳机。
3. 检查设备是否安装正确:
root@edison:~# cat /proc/asound/pcm00-00: Loopback PCM : Loopback PCM : playback 8 : capture 800-01: Loopback PCM : Loopback PCM : playback 8 : capture 801-00: USB Audio : USB Audio : playback 1 : capture 1
在本示例中,插入 USB 耳机后,您将看到多台由该 USB 设备连接的回放和捕捉设备。
root@edison:~# pactl list | grep Name | grep usbName: alsa_output.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-stereoName: alsa_output.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-stereo.monitor
4. 连接您的 A2DP 播放设备(比如智能手机),并通过解锁本地 BT 设备检查该设备是否 以源设备列于 pulseaudio 之中:
root@edison:~# rfkill unblock 2
现在,发现/信任/配对/连接您的远程 A2DP 设备,其 mac 地址为 BTADDR:
root@edison:~# bluetoothctl[bluetooth]# scan on[bluetooth]# trust BTADDR[bluetooth]# pair BTADDR[bluetooth]# connect BTADDR[bluetooth]# scan off[bluetooth]# exit
检查脉冲音频是否识别您的 A2DP 设备,并获取设备的源名称(从 "bluez_source" 开始):
root@edison:~# pactl list sources | grep bluez_sourceName: bluez_source.88_C9_D0_51_C6_AE
注意:BT edison 名称默认为 "BlueZ 5.24",因此,该名称可能出现在您的播 放器设备中。 请查看信息,进行名称修改。
5. 将 A2DP 源设备环回至 USB 回放设备
root@edison:~# pactl load-module module-loopback source=bluez_source.88_C9_D0_51_C6_AE sink=alsa_output.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-stereo
6. 在远程设备上播放声音,并检查耳机端的音频
将 A2DP 流环回至 A2DP 远程设备
分步指南
1. 连接 A2DP 播放器设备(比如智能手机)和 BT 扬声器,并查看 pulseaudio 中是否包 含这些设备:
root@edison:~# rfkill unblock 2
现在,发现/信任/配对/连接您的远程 A2DP 设备,其 mac 地址为 BTADDR:
root@edison:~# bluetoothctl[bluetooth]# scan on[bluetooth]# trust BTADDR[bluetooth]# pair BTADDR[bluetooth]# connect BTADDR[bluetooth]# scan off[bluetooth]# exit
检查脉冲音频是否识别您的 A2DP 设备,然后获取两台设备的源和接收名称。
root@edison:~# pactl list | grep bluezName: bluez_source.88_C9_D0_51_C6_AEName: bluez_sink.00_1D_DF_89_12_8E
注意:BT edison 名称默认为 "BlueZ 5.24",因此,该名称可能出现在您的播 放器设备中。 请查看信息,进行名称修改。
2. 将 A2DP 源设备(智能手机)环回至 A2DP 接收设备(BT 扬声器)
root@edison:~# pactl load-module module-loopback source=bluez_source.88_C9_D0_51_C6_AE sink=bluez_sink.00_1D_DF_89_12_8E
3. 在远程设备上播放声音,并检查 BT 扬声器的音频。
您可以在 /etc/bluetooth/main.conf 中修改蓝牙控制器的名称。
取消 “Name” 属性的注释,并在 [general] 部分设置名称:
[general]...# %d - substituted for adapter id# Defaults to 'BlueZ'Name = Edison
然后重新启动蓝牙服务,并检查控制器名称:
root@edison:~# systemctl restart bluetoothroot@edison:~# bluetoothctl
[NEW] Controller 98:4F:EE:02:00:6A Edison [default]
故障排除
- 经常检查蓝牙是否受阻。 大多数时候连接受阻,必须疏通以重新开始连接。
- 如果适用,请参阅常见问题解答和支持页面,以及论坛发帖。

更多Edison信息请点击右边链接直接登录 >>>> 英特尔开发人员专区
广告,请广而告知——
每周二【intel 程序猿笔记】帖子下会设计一个与帖子内容相关的问答投票,你只要在留言区参与投票,选出正确的答案,社区小管家会挑选每周前10名回答正确的幸运互动者随机赠送小礼品,礼品可以实行累积制喔。也奏是说——只要你脑洞够大、热情够给力,你就可以横扫所有奖品实现大满贯喔!当然,对于大满贯获得者,我们还有神秘大礼包让你喜上加喜、锦上添花。奏这么任性,没办法!
现在,抢福利时间又到——
下面哪项是通过 USB 声音设备环回 A2DP 流的步骤?





