Quantcast
Channel: 英特尔开发人员专区文章
Viewing all articles
Browse latest Browse all 583

与英特尔® Edison开发板一起摇滚

$
0
0

本篇指导性文章旨在介绍借助英特尔® Edison 开发板获取和播放声音的不同方法。

在此我们仅介绍环回方法,因为这类方法的交互性更强 ,而且能够令 Edison 开发板的表现无异于一台互联设备。

如果用户希望回放声音文件,必须使用通过蓝牙连接的 基于外部 A2DP 的播放器。

本文将介绍三种方法:

  1. 从 USB 耳机并通过该耳机环回音频
  2. 通过 USB 声音设备环回 A2DP 流
  3. 将 A2DP 流环回至 A2DP 远程设备

要求

硬件:

  • 带有基于 Arduino 的扩展版的英特尔 Edison 开发板
  • USB 音频设备(最好是 USB 耳机)
  • A2DP 设备,用于将音频发送至开发板(比如智能手机)
  • A2DP 设备,用于播放开发板的音频(比如蓝牙扬声器)

软件:

或者 2015 年之后生产的映像。

从 USB 耳机并通过该耳机环回音频

分步指南

1. 将 SW1(主 USB 和迷你 USD 端口之间)移动至离迷你 USB 端口最近的位置,以激活 USB 托管模式。 使用这种模式时需要用到外部电源。

2. 插入 USB 耳机。

3. 检查设备是否安装正确:

root@edison:~# cat /proc/asound/pcm
00-00: Loopback PCM : Loopback PCM : playback 8 : capture 8
00-01: Loopback PCM : Loopback PCM : playback 8 : capture 8
01-00: USB Audio : USB Audio : playback 1 : capture 1

在本示例中,插入 USB 耳机后,您将看到多台由该 USB 设备连接的回放和捕捉设备。

root@edison:~# pactl list | grep Name | grep usb
Name: alsa_output.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-stereo
Name: alsa_output.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-stereo.monitor
Name: alsa_input.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-mono
Name: 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/pcm
00-00: Loopback PCM : Loopback PCM : playback 8 : capture 8
00-01: Loopback PCM : Loopback PCM : playback 8 : capture 8
01-00: USB Audio : USB Audio : playback 1 : capture 1

在本示例中,插入 USB 耳机后,您将看到多台由该 USB 设备连接的回放和捕捉设备。

root@edison:~# pactl list | grep Name | grep usb
Name: alsa_output.usb-JABRA_Jabra_BIZ_620_USB-00-USB.analog-stereo
Name: 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_source
Name: 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 bluez
Name: bluez_source.88_C9_D0_51_C6_AE
Name: 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 bluetooth
root@edison:~# bluetoothctl

[NEW] Controller 98:4F:EE:02:00:6A Edison [default]

 

故障排除

  • 经常检查蓝牙是否受阻。 大多数时候连接受阻,必须疏通以重新开始连接。
  • 如果适用,请参阅常见问题解答和支持页面,以及论坛发帖。

Viewing all articles
Browse latest Browse all 583

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>