Bluetoothヘッドフォンを接続しても音が出ない

Bluetoothヘッドフォンを接続しても音が出ない

私は現在、Atmel SAMA5D2 xplained評価ボードに組み込まれているカスタムLinuxで動作するようにSennheiser MM450-Xヘッドフォンを入手しようとしています。

ペアリングして接続できますが、音を再生しようとするとヘッドフォンから音は聞こえません。

私はblueZ v5とpulseaudio v9を使用しています。

Bluetoothデーモン起動ログ

Jan  1 05:48:53 buildroot bluetoothd[204]: Bluetooth daemon 5.46
Jan  1 05:48:53 buildroot bluetoothd[204]: Unknown key PageTimeout in main.conf
Jan  1 05:48:53 buildroot bluetoothd[204]: Unknown key InitiallyPowered in main.conf
Jan  1 05:48:53 buildroot bluetoothd[204]: Unknown key RememberPowered in main.conf
Jan  1 05:48:53 buildroot bluetoothd[204]: Unknown key EnableGatt in main.conf
Jan  1 05:48:53 buildroot bluetoothd[204]: Starting SDP server
Jan  1 05:48:53 buildroot bluetoothd[204]: Bluetooth management interface 1.14 initialized
Jan  1 05:48:53 buildroot bluetoothd[204]: Sap driver initialization failed.
Jan  1 05:48:53 buildroot bluetoothd[204]: sap-server: Operation not permitted (1)
Jan  1 05:48:53 buildroot pulseaudio[174]: [pulseaudio] bluez4-util.c: org.bluez.Manager.GetProperties() failed: org.freedesktop.DBus.Error.UnknownMethod: Method "GetProperties" with signature "" on interface "org.bluez.Manager" doesn't exist
Jan  1 05:48:53 buildroot bluetoothd[204]: Endpoint registered: sender=:1.0 path=/MediaEndpoint/A2DPSource
Jan  1 05:48:53 buildroot bluetoothd[204]: Endpoint registered: sender=:1.0 path=/MediaEndpoint/A2DPSink

ヘッドホンに接続すると

Jan  1 05:51:51 buildroot bluetoothd[204]: Control: Refusing unexpected connect
Jan  1 05:51:52 buildroot kernel: input: 00:16:94:0B:90:02 as /devices/virtual/input/input1

すべてのBluetoothモジュールがロードされているように見えます。

# pactl list short | grep blue
11  module-bluetooth-discover       
12  module-bluez5-discover      
13  module-bluez4-discover      
14  module-bluetooth-policy     
16  module-bluez5-device    path=/org/bluez/hci0/dev_00_16_94_0B_90_02  
2   bluez_sink.00_16_94_0B_90_02    module-bluez5-device.c  s16le 1ch 8000Hz    SUSPENDED
3   bluez_sink.00_16_94_0B_90_02.monitor    module-bluez5-device.c  s16le 1ch 8000Hz    SUSPENDED
4   bluez_source.00_16_94_0B_90_02  module-bluez5-device.c  s16le 1ch 8000Hz    SUSPENDED
2   bluez_card.00_16_94_0B_90_02    module-bluez5-device.c

ヘッドセット受信機が設定されました。

# pactl list sinks
Sink #0
    State: SUSPENDED
    Name: alsa_output.platform-fc048000.classd.analog-stereo
    Description: CLASSD Analog Stereo
    Driver: module-alsa-card.c
    Sample Specification: s16le 2ch 44100Hz
    Channel Map: front-left,front-right
    Owner Module: 1
    Mute: no
    Volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    Base Volume: 65536 / 100% / 0.00 dB
    Monitor Source: alsa_output.platform-fc048000.classd.analog-stereo.monitor
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE DECIBEL_VOLUME LATENCY 
    Properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = ""
        alsa.id = "CLASSD PCM atmel-classd-hifi-0"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "0"
        alsa.card_name = "CLASSD"
        alsa.long_card_name = "CLASSD"
        device.bus_path = "platform-fc048000.classd"
        sysfs.path = "/devices/soc0/ahb/ahb:apb/fc048000.classd/sound/card0"
        device.string = "hw:0"
        device.buffering.buffer_size = "17632"
        device.buffering.fragment_size = "4408"
        device.access_mode = "mmap"
        device.profile.name = "analog-stereo"
        device.profile.description = "Analog Stereo"
        device.description = "CLASSD Analog Stereo"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card"
    Ports:
        analog-output: Analog Output (priority: 9900)
    Active Port: analog-output
    Formats:
        pcm

Sink #1
    State: SUSPENDED
    Name: bluez_sink.00_16_94_0B_90_02
    Description: Sennheiser MM450-X
    Driver: module-bluez5-device.c
    Sample Specification: s16le 1ch 8000Hz
    Channel Map: mono
    Owner Module: 15
    Mute: no
    Volume: mono: 65536 / 100%
            balance 0.00
    Base Volume: 65536 / 100%
    Monitor Source: bluez_sink.00_16_94_0B_90_02.monitor
    Latency: 0 usec, configured 0 usec
    Flags: HARDWARE HW_VOLUME_CTRL LATENCY 
    Properties:
        bluetooth.protocol = "headset_head_unit"
        device.intended_roles = "phone"
        device.description = "Sennheiser MM450-X"
        device.string = "00:16:94:0B:90:02"
        device.api = "bluez"
        device.class = "sound"
        device.bus = "bluetooth"
        device.form_factor = "headset"
        bluez.path = "/org/bluez/hci0/dev_00_16_94_0B_90_02"
        bluez.class = "0x240404"
        bluez.alias = "Sennheiser MM450-X"
        device.icon_name = "audio-headset-bluetooth"
    Ports:
        headset-output: Headset (priority: 0)
    Active Port: headset-output
    Formats:
        pcm

ヘッドフォンレシーバー設定を設定した後、ヘッドフォン出力で音が再生されません。

# pactl set-default-sink 1
# pactl set-sink-volume 1 65535
# aplay ChillingMusic.wav 
Playing WAVE 'ChillingMusic.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
#

Debian 9システムで同じ設定を試みましたが、ほぼ同じログメッセージが使用されました。

Oct 23 16:29:31 PC325 bluetoothd[31058]: Unable to connect Headset Voice gateway: connect: Device or resource busy (16)
Oct 23 16:29:31 PC325 bluetoothd[31058]: Connecting Headset Voice gateway failed: Input/output error
Oct 23 16:29:33 PC325 bluetoothd[31058]: Control: Refusing unexpected connect
Oct 23 16:29:35 PC325 bluetoothd[31058]: /org/bluez/hci0/dev_00_16_94_0B_90_02/fd3: fd(25) ready

もう進めないし、すでに同じ質問を追加した人がいるかどうか疑問に思います。

追加のデバッグのためのいくつかの提案があります。

答え1

aplay私は最終的に問題が使用法にあることに気づきましたpaplay

Debianホストでは動作しますが、ターゲットLinuxでは動作しない理由はまだ説明できませんが、aplay少なくとも問題は解決しました。

関連情報