web-dev-qa-db-ja.com

16.04に更新した後、BluetoothオーディオA2DPモードが機能しなくなりました

ニースのBluetoothオーディオレシーバーをHiFiステレオに接続し、14.04でニース品質のA2DPシンクとして接続できるようにしました。

16.04にアップグレードした後、デバイスはヘッドセットとしてのみ接続し、A2DPモードで切り替えようとすると、syslogに次のエラーが表示されます。

May 21 11:35:50 RRyS pulseaudio[6159]: [pulseaudio] module-bluez5-device.c: Refused to switch profile to a2dp_sink: Not connected

また、オーディオの品質は劣悪です。どうすれば修正できますか?

29
Rmano

これに関してはいくつかのバグが公開されています。たとえば、 this one(15.05から開始) および this other one、かなり古い ;を確認してください。一般的な原因はよく理解されていません。

システムファイルの変更を開始する前に、 BluetoothスピーカーUbuntu 16.04で音が出ない (別のバグのようです)および A2DP bluetoothは16.04で動作しません (コメントで解決済み)カーネルのアップグレードによる)。

私のために働いた修正は次のとおりです--- ランチパッドのユーザーRobertFM および ArchフォーラムのSimFox のおかげです。以下のすべての命令は、ルートシェル(Sudo -i)から実行する必要があります。注意して、トリプルチェックしてください。

  1. まず最初に、これらのファイルのバックアップを作成します(決してわかりません)。

    cp /etc/bluetooth/audio.conf /etc/bluetooth/audio.conf.bak
    cp /etc/Pulse/default.pa /etc/Pulse/default.pa.bak
    cp /usr/bin/start-pulseaudio-x11 /usr/bin/start-pulseaudio-x11.bak
    
  2. /etc/bluetooth/audio.confを編集して、次のようにします。

    # Configuration file for the audio service
    # This section contains options which are not specific to any
    # particular interface
    [General]
    Enable=Gateway,Source
    
    # Switch to master role for incoming connections (defaults to true)
    Master=true
    
    # If we want to disable support for specific services
    # Defaults to supporting all implemented services
    #Disable=Gateway,Source,Socket
    Disable=Socket
    
    # SCO routing. Either PCM or HCI (in which case audio is routed to/from ALSA)
    # Defaults to HCI
    #SCORouting=HCI
    
    # Automatically connect both A2DP and HFP/HSP profiles for incoming
    # connections. Some headsets that support both profiles will only connect the
    # other one automatically so the default setting of true is usually a good
    # idea.
    AutoConnect=true
    
    # Headset interface specific options (i.e. options which affect how the audio
    # service interacts with remote headset devices)
    [Headset]
    
    # Set to true to support HFP, false means only HSP is supported
    # Defaults to true
    HFP=true
    
    # Maximum number of connected HSP/HFP devices per adapter. Defaults to 1
    MaxConnected=2
    
    # Set to true to enable use of fast connectable mode (faster page scanning)
    # for HFP when incoming call starts. Default settings are restored after
    # call is answered or rejected. Page scan interval is much shorter and page
    # scan type changed to interlaced. Such allows faster connection initiated
    # by a headset.
    FastConnectable=true
    
    # Just an example of potential config options for the other interfaces
    #[A2DP]
    #SBCSources=1
    #MPEG12Sources=0
    
  3. /etc/Pulse/default.paを編集して、行をコメントアウトします

    #load-module module-bluetooth-discover
    

    (本当に最初に追加する必要があるのは#のみです)

  4. /usr/bin/start-pulseaudio-x11を編集し、モジュールのロード後に/usr/bin/pactl load-module module-bluetooth-discover行を追加しますmodule-x11-xsmp;実際には、終わり近くでファイルを編集して、次のようなスタンザを作成する必要があります。

    if [ x"$SESSION_MANAGER" != x ] ; then
        /usr/bin/pactl load-module module-x11-xsmp "display=$DISPLAY session_manager=$SESSION_MANAGER" > /dev/null
        # add this line here:
        /usr/bin/pactl load-module module-bluetooth-discover
    fi
    
  5. リブート。

    これで、デバイスをA2DPに設定し、高品質の音楽を楽しむことができます。

    Sound settings

    A2DPを再び有効にするには、デバイスを切断して再接続する必要があることに注意してください。

    Bluetooth devices

    ...はい、それはバグの缶です。しかし、それが機能するとき、それは美しく機能します。

  6. 再起動後のトラブル

    このすべての後、次の再起動後に初めてトリックが機能するようになります。そのような場合は、 rmfoughtの答え に従うようにしてください。

    私のために働くのは、Bluetoothデバイスを接続し、HSP/HFPモードに切り替え、切断、再接続してからA2DPモードに切り替えることです。

    ...私のためにも機能します(再び、いつか)。一度ドングルのペアリングを解除する必要さえありました。

  7. それでも動作しない場合...

    これも機能しない場合は、 このスクリプト ---で試してみてください。作成者は最新の状態を維持しています。

35
Rmano

私のために働くのは、Bluetoothデバイスを接続し、HSP/HFPモードに切り替え、切断、再接続してからA2DPモードに切り替えることです。

38
rmfought

これは必ずしもマイクを必要とする人のための解決策ではありませんが、これは私にとってUbuntu 16.04で機能しました。

Sudo nano /etc/bluetooth/audio.conf

そして、Disable=Headsetの下に[General]を追加します。

[General]
Disable=Headset

そして、Bluetoothサービスを再起動します

Sudo service bluetooth restart

そして、この男に対するすべての信念: https://jimshaver.net/2015/03/31/going-a2dp-only-on-linux/

5
helgis