快轉到主要內容

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

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

Turn your Linux PC into a bluetooth recevier and speaker.

把Linux電腦變成藍牙喇叭接收器的概念,這樣只要將傳統3.5mm喇叭接上電腦,就能將其變身藍牙喇叭,用手機連線播放音樂了。

本操作適用於有藍牙晶片的Ubuntu Linux電腦與樹莓派。手機端Android或iPhone都行。

原理是利用PulseAudio或PipeWire內建的藍牙接收功能,用來接收藍牙訊號,這樣Linux裝置就會變成一個藍牙喇叭,從而用Linux連線到喇叭輸出音樂。

因為這是大部分Linux發行版使用的音訊伺服器,不用另外裝軟體就能用。

論藍牙的音質,如果使用PulseAudio,預設SBC,最多只有到AAC吧。新世代的音訊伺服器「PipeWire」提供更高音質的aptX、LDAC、LC3編碼器,但這也要看你的電腦藍牙晶片是否有支援。

最後,如果是用電腦內部的藍牙晶片,建議準備天線加強收訊。

1. 將喇叭接上Linux裝置
#

一般的Linux電腦只要接上3.5mm的端子,確認可以輸出音效就好。

樹莓派亦同。不過Raspberry Pi 5之後竟然砍掉了3.5mm輸出端子,所以你得買一個USB轉接器才能夠接上喇叭,建議在接上螢幕的情況下操作。沒有圖形界面的情況請嘗試用espeak-ng指令,確認能不能輸出音效。

2. 調整PulseAudio設定
#

執行以下指令,確認你現在系統使用Pipewire還是PulseAudio。

pactl info

若是PipeWirePulseAudio on PipeWire,藍牙接收功能應該已經啟動,不需要特別設定就能接收藍牙訊號並播放音樂。

PulseAudio就得手動設定載入藍牙模組。下面以Ubuntu 24.04 LTS為例。

  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的喇叭出來。若Linux電腦的藍牙晶片支援aptX編碼那麼手機端應該也會顯示。

  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強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用圖床網站。