今天我想出了一個很酷的技巧來充分利用你的隔離時間。 您知道可以將 Linux PC 用作手機的藍牙揚聲器嗎?沒問題! 了解如何將 Linux PC 變成手機的藍牙揚聲器。如果您還不知道,您可以在手機上播放音頻或視頻文件,並通過藍牙在筆記本電腦或台式機上收聽。 脈衝音頻更簡單地說,您可以使用 Pulseaudio 和藍牙將聲音從手機重定向到計算機。

內容

  1. 先決條件
  2. 在 Linux 上安裝 Bluez
  3. 在 Linux 上安裝 Pulseaudio
  4. 將您的 Linux PC 與您的手機配對
  5. 將您的 Linux PC 變成手機的藍牙揚聲器
    1. 脈衝音頻故障排除

先決條件

顯然,您需要一部支持藍牙的手機和一台 Linux PC(台式機或筆記本電腦)。 運行 GNU/Linux 的 PC 必須具有藍牙硬件功能,即藍牙接收器和發射器。

我已經在戴爾筆記本電腦和運行 Ubuntu 18.04 LTS 的舊 HP 平板電腦上對此進行了測試。

首先,確保你已經安裝 蘭茨, 脈衝音頻 什麼時候 脈衝音頻藍牙模塊 在 Linux 系統上。大多數 Linux 發行版都預裝了這些工具。以防萬一,如果它丟失,請按照以下步驟安裝它。

在 Linux 上安裝 Bluez

要在 Arch Linux 及其變體上安裝 Bluez,請運行以下命令:

$ sudo pacman -S bluez

對於 Debian、Ubuntu:

$ sudo apt install bluez

對於 Fedora、CentOS、RHEL:

$ sudo dnf install bluez

再次,

$ sudo yum install bluez

對於 openSUSE:

$ sudo zypper install bluez

安裝 Bluez 後,確保在啟動時啟用藍牙服務。

$ sudo systemctl start bluetooth
$ sudo systemctl enable bluetooth

要檢查藍牙狀態,請運行:

$ systemctl status bluetooth

在 Linux 上安裝 Pulseaudio

脈衝音頻 是一個開源、跨平台、支持網絡的聲音服務器程序,通過 freedesktop.org 項目分發。 它支持 Linux 和各種 BSD 發行版,例如 FreeBSD、OpenBSD 和 macOS。 Pulseaudio 在大多數 Linux 發行版的默認存儲庫中都可用。 要啟用通過藍牙播放,您需要安裝 pulseaudio 藍牙模塊。

要在 Arch Linux 上安裝 Pulseaudio 和其他必要程序,請運行以下命令:

$ sudo pacman -S pulseaudio pavucontrol pulseaudio-bluetooth

在 Debian、Ubuntu 和 Linux Mint 上,運行:

$ sudo apt install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth

對於 Fedora:

$ sudo dnf install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth

對於 CentOS、RHEL:

$ sudo yum install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth

對於 openSUSE:

$ sudo zypper install pulseaudio pulseaudio-utils pavucontrol pulseaudio-module-bluetooth

將您的 Linux PC 與您的手機配對

確保您的手機已與您的 PC 配對。 藍牙配對就是這麼簡單!你可能已經做過很多次了。

打開手機和 Linux 系統上的藍牙。

在安卓設備上,[設定]從窗口打開藍牙。

在您的 Android 手機上打開藍牙

在 Ubuntu GNOME 中,您可以從系統設置中打開藍牙。

在 Ubuntu 中打開藍牙

一旦兩個設備上的藍牙都打開,它將開始掃描最近的藍牙設備並列出它們。 Linux PC 可以一鍵配對設備。

在 Ubuntu 中配對藍牙設備

在 Ubuntu 中配對藍牙設備

相同的藍牙 PIN 將顯示在您的手機上。只需點擊 一對 與您的 Linux PC 配對。

Android 上的藍牙配對

Android 上的藍牙配對

手機與 Ubuntu PC 配對後,[Bluetooth]部分[デバイス]它們顯示在選項卡中。

通過藍牙將您的 Android 手機與 Ubuntu 配對

通過藍牙將您的 Android 手機與 Ubuntu 配對

同樣,如果您的 Linux PC 在您的手機上[ペアリングされたデバイス]顯示在選項卡下。

通過藍牙配對 Ubuntu PC 和 Android 手機

通過藍牙配對 Ubuntu PC 和 Android 手機

兩台設備現已配對並可以使用。

將您的 Linux PC 變成手機的藍牙揚聲器

它在我的 Ubuntu 18.04 桌面上開箱即用。實際上不需要任何配置。我剛安裝 “脈衝音頻模塊藍牙” 將手機與 PC 配對後,我可以立即從筆記本電腦聽到手機上播放的音樂。您可以通過移動設備或計算機調節音量。 我認為 Pusleaudio 負責幕後的一切。脈衝音頻是最好的!

如果由於某種原因它不能開箱即用,請創建以下文件: ~/.config/pulse/system.pa

$ mkdir ~/.config/pulse/
$ nano ~/.config/pulse/system.pa

添加以下行:

.include /etc/pulse/system.pa
load-module module-bluetooth-policy
load-module module-bluetooth-discover

保存並關閉文件。使用命令重新啟動藍牙服務以使更改生效。

$ sudo systemctl restart bluetooth

您可以通過直接編輯“/etc/pulse/system.pa”文件來更改它。但強烈推薦 不要編輯系統範圍的配置文件,但編輯用戶的。這就是為什麼你應該創建 “~/.config/pulse” 轉到目錄並將系統配置文件複製到那裡並根據需要進行編輯。不是完美的副本。 ~/.config/pulse/default.pa 文件可以從以下行開始: “.include /etc/pulse/default.pa” 然後覆蓋默認值。這樣您就可以避免將來的 pulseaudio 更新出現問題。

脈衝音頻故障排除

我無需任何特殊設置即可立即將筆記本電腦變成藍牙揚聲器,但音頻播放有時很糟糕而且斷斷續續。是的,我可以聽到聲音,但是很吵。

首先,確保您的藍牙播放配置文件設置為: A2DP(高保真播放)為此,請打開 Pulseaudio 音量控制 (Pavucontrol) 從破折號或菜單。下一個,[構成]部分[プロファイル]從下拉框中[高忠実度キャプチャ (A2DP ソース)]選擇。

選擇高保真捕捉(A2DP 源)

選擇高保真捕捉(A2DP 源)

接下來您需要設置正確的緩衝區大小(延遲)。 如果您的藍牙聲音斷斷續續、斷斷續續且失真,這可能是由於 A2DP 實施以及聲音在編碼前的緩衝方式所致。更改緩衝區大小以修復音頻卡頓。

首先,使用以下命令找到您的藍牙設備名稱及其端口:

$ pactl list | grep -Pzo '.*bluez_card(.*n)*'

示例輸出:

	Name: bluez_card.7C_D3_0A_0B_D6_30
	Driver: module-bluez5-device.c
	Owner Module: 36
	Properties:
		device.description = "HP 7 VoiceTab"
		device.string = "7C:D3:0A:0B:D6:30"
		device.api = "bluez"
		device.class = "sound"
		device.bus = "bluetooth"
		device.form_factor = "phone"
		bluez.path = "/org/bluez/hci0/dev_7C_D3_0A_0B_D6_30"
		bluez.class = "0x5a020c"
		bluez.alias = "HP 7 VoiceTab"
		device.icon_name = "audio-card-bluetooth"
	Profiles:
		a2dp_source: High Fidelity Capture (A2DP Source) (sinks: 0, sources: 1, priority: 20, available: yes)
		headset_audio_gateway: Headset Audio Gateway (HSP/HFP) (sinks: 1, sources: 1, priority: 10, available: no)
		off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
	Active Profile: a2dp_source
	Ports:
		phone-output: Phone (priority: 0, latency offset: 0 usec, not available)
			Part of profile(s): headset_audio_gateway
		phone-input: Phone (priority: 0, latency offset: 0 usec, available)
			Part of profile(s): a2dp_source, headset_audio_gateway

從上面的輸出可以看出,藍牙設備的名稱是: “bluez_card.7C_D3_0A_0B_D6_30” 港口是 “大喊”緩衝區大小(延遲)為 0.

使用以下命令設置緩衝區大小(延遲):

$ pactl set-port-latency-offset bluez_card.7C_D3_0A_0B_D6_30 phone-output 125000

這裡我們使用 125ms 的緩衝區。您可以設置它以適合您。還要更改上面命令中的名稱和端口值。

然後用命令重啟藍牙服務:

$ sudo systemctl restart bluetooth

或者重啟系統。消除了音頻卡頓問題。 我遵循了 AskUbuntu、LinuxMint 和 ArchWiki 論壇上提到的其他幾種解決方法(鏈接附在末尾)。但是上面的解決方案剛剛解決了我的問題。

以下是用戶建議的其他一些解決藍牙音頻問題的解決方案。

解決方案1:

編輯 ALSA 配置文件。

$ sudo nano /etc/modprobe.d/alsa-base.conf

在末尾添加以下行:

options snd-hda-intel model=generic

僅當運行 GNU/Linux 的 PC 上的主聲卡是 HDA Intel 設備(通常在主板上)時,此設置才相關。如果主聲卡是 Creative、Terratech、VIA 等其他設備,則什麼也不做。感謝您的反饋意見 布賴恩先生.

保存並關閉文件。重新啟動系統。

解決方案2:

這是由 Linux Mint 論壇上的用戶提出的。

編輯文件 ~/.config/pulse/system.pa

$ sudo ~/.config/pulse/system.pa

添加以下行:

load-module module-udev-detect tsched=0

保存並關閉文件。重新啟動系統。

推薦閱讀:

  • KDE Con​​nect – 從您的 Android 設備訪問文件和通知

希望這可以幫助。

資源:

  • /r/linux/
  • AskUbuntu論壇
  • Linux Mint 論壇

bluetooth 藍牙音箱 藍牙提示 LinuxLinux 提示 手機提示 Pulseaudio