Turn Linux PC into a bluetooth recevier and speaker.
把Linux電腦變成藍芽喇叭接收器的概念,這樣就能將手機音樂在電腦喇叭上播放了。
本操作適用於有藍芽晶片的Ubuntu Linux電腦與樹莓派。手機端Android或iPhone都行。
原理是利用PulseAudio或PipeWire內建的藍芽接收功能,用來接收藍芽訊號,這樣Linux裝置就會變成一個藍芽喇叭,從而用Linux的喇叭輸出音樂。
因為PulseAudio是大部分Linux發行版使用的音訊伺服器,不用另外架設什麼特別服務就能用。
最高音質…如果使用PulseAudio,最多只有到AAC吧,PipeWire提供更高的LDAC音質,但這也要看你的電腦藍芽晶片是否支援解碼就是了。另外,必要時請準備藍芽天線加強收訊。
1. 將喇叭接上Linux裝置#
一般的Linux電腦只要接上3.5mm的端子,確認可以輸出音效就可以了。
樹莓派亦同。不過Raspberry Pi 5之後竟然砍掉了3.5mm輸出端子,所以你得買一個USB轉接器才能夠接上喇叭。沒有圖形界面的情況下可用espeak-ng
指令,確認能不能輸出音效。
2. 調整PulseAudio設定#
PipeWire的藍芽接收功能應是預設啟動的,不需要特別設定就能接收藍芽訊號。但PulseAudio就得手動設定載入模組。
以Ubuntu 24.04 LTS為例
- 確認你現在是在使用PulseAudio,或者PipeWire相容模式下的PulseAudio
pactcl info
- 安裝PulseAudio的藍芽模組
sudo apt install pulseaudio-module-bluetooth
- 修改PulseAudio設定
sudo vim /etc/pulse/system.pa
- 在檔案底部寫入內容,設定載入藍芽模組
load-module module-bluetooth-policy
load-module module-bluetooth-discover
- 重新啟動PulseAudio服務
pulseaudio --kill
pulseaudio --start
3. 將手機與Linux裝置配對#
開啟Linux的系統設定,應該會有藍芽的頁面可以開關藍芽。 將手機與Linux藍芽配對。
如果你的Linux沒有圖形界面,請嘗試用bluetoothctl控制:
bluetoothctl
# 列出本機藍芽裝置
list
# 選取藍芽裝置
select <MAC位址>
# 啟動藍芽裝置
power on
# 掃描附近裝置
scan on
# 配對藍芽裝置
pair <MAC位址>
播放手機音樂的時候選取Linux裝置,聲音就會從Linux的喇叭出來
Linux的pavucontrol面板可以觀察到有手機的播放訊號源
音樂音量是由手機和Linux端同時決定的。如果要從手機控制Linux的音量,可以安裝 KDE Connect,這樣就能夠從手機控制Linux喇叭的音量。