快轉到主要內容

Linux&樹莓派當作藍牙喇叭接收器,電腦播放手機音樂

分類   Linux系統 Linux使用技巧
標籤   PulseAudio PipeWire KDE Connect Raspberry Pi
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

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為例

  1. 確認你現在是在使用PulseAudio,或者PipeWire相容模式下的PulseAudio
pactcl info
  1. 安裝PulseAudio的藍芽模組
sudo apt install pulseaudio-module-bluetooth
  1. 修改PulseAudio設定
sudo vim /etc/pulse/system.pa
  1. 在檔案底部寫入內容,設定載入藍芽模組
load-module module-bluetooth-policy
load-module module-bluetooth-discover
  1. 重新啟動PulseAudio服務
pulseaudio --kill
pulseaudio --start

3. 將手機與Linux裝置配對
#

  1. 開啟Linux的系統設定,應該會有藍芽的頁面可以開關藍芽。 將手機與Linux藍芽配對。

  2. 如果你的Linux沒有圖形界面,請嘗試用bluetoothctl控制:

bluetoothctl

# 列出本機藍芽裝置
list

# 選取藍芽裝置
select <MAC位址>

# 啟動藍芽裝置
power on

# 掃描附近裝置
scan on

# 配對藍芽裝置
pair <MAC位址>
  1. 播放手機音樂的時候選取Linux裝置,聲音就會從Linux的喇叭出來

  2. Linux的pavucontrol面板可以觀察到有手機的播放訊號源

  3. 音樂音量是由手機和Linux端同時決定的。如果要從手機控制Linux的音量,可以安裝 KDE Connect,這樣就能夠從手機控制Linux喇叭的音量。

參考資料
#

相關文章

透過USB傳輸線,從Linux電腦走RNDIS協定登入樹莓派系統
分類   Linux系統 Linux使用技巧
標籤   Raspberry Pi
免重灌系統,Linux安裝多重桌面環境(GNOME、KDE、XFCE、Cinnamon)
分類   Linux系統 Linux使用技巧
標籤   GNOME KDE Plasma
解決Linux pip install的"error: externally-managed-environment" 錯誤,改用虛擬環境安裝套件
分類   Linux系統 Linux使用技巧
標籤   Python

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。