在Linux上使用bluealsa从蓝牙耳机录制音频

时间:2020-06-09 20:15:53

标签: linux bluetooth audio-recording alsa

我正在Raspberry pi零上使用板载蓝牙,并连接了也带有麦克风的蓝牙扬声器。我想录制此BT扬声器麦克风的音频。

我了解bluealsa命令行可以用于此目的,也可以用于播放.wav音频文件。

我无法使用bluealsa sco个人资料来录制音频。 (作业系统:Dietpi) 该设备能够连接到pi,并且可以播放wav文件, 使用: aplay -D bluealsa:DEV = XX:XX:XX:XX:XX:XX:PROFILE = a2dp sample.wav

但是,使用arecord时,它表示已记录,但不记录任何内容,也不会引发任何错误。

使用:记录-f cd -D bluealsa:DEV = XX:XX:XX:XX:XX:XX,PROFILE = sco test.wav

输出:记录WAVE'test.wav':签名的16位Little Endian,速率44100 Hz,立体声

test.wav在系统上仅显示44个字节:

-rw-r--r-- 1个root root 44 Jun 9 15:38 test.wav

当我尝试播放录制的文件时,它只是噪音。

有人可以帮忙吗? bluesalsa包本身是否还支持从BTspeakers录音?

1 个答案:

答案 0 :(得分:0)

就像我说的,经过多次摸索,发现在 bluealsa 服务开始时缺少一些关键方面。

  1. 默认情况下,bluealsa 服务仅以“a2dp-source”配置文件开头。这仅用于播放音频。但要录制音频,则需要“a2dp-sink”、“hfp-ag”和“hsp-ag”配置文件。

  2. 如果您使用的是任何基于 raspberry 或 ubuntu 的发行版,请使用以下命令。 “systemctl cat bluealsa” 这显示了“bluealsa”服务的单元文件。它应该有下面的 ExecStart 行。 ExecStart=/usr/bin/bluealsa -p a2dp-sink -p a2dp-source -p hfp-ag -p hsp-ag

3.通常我观察到的是没有传递给它的任何 -p 选项。更改单元文件并重新启动服务。 注意:无论何时更改任何 systemctl 单元文件,都必须执行以下命令以使更改生效。

1. "systemctl daemon-reload"
2. systemctl restart bluealsa

4.另外要注意的是:在asounrc文件中使用配置文件“sco”。

进行这些更改后应该可以录制音频!这对我有用!经过长时间的磨难!

相关问题