DBus bluez properties - Volume

0

Estou tentando encontrar comandos para definir e obter volume de fones de ouvido bluetooth no terminal. Existem métodos VolumeUp e VolumeDown disponíveis na interface org.bluez.MediaControl1:

$ dbus-send --print-reply --system --dest=org.bluez \
  /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX org.bluez.MediaControl1.VolumeUp

dev_XX_XX_XX_XX_XX_XX deve ser substituído pelo endereço MAC real e fdYY é regenerado sempre que os fones de ouvido estiverem conectados; há um software d-feet que ajuda a encontrar as propriedades do dbus

Esses métodos funcionam, mas de acordo com o link A interface do MediaControl está obsoleta e o MediaTransport deve ser usado em seu lugar.

Quando usar o Introspect para listar as propriedades disponíveis:

$ dbus-send --print-reply --system --dest=org.bluez \
  /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/fdYY \
  org.freedesktop.DBus.Introspectable.Introspect

Eu recebi resposta , que contém:

<interface name="org.bluez.MediaTransport1">
  ...
  <property name="Volume" type="q" access="readwrite" />
</interface>

Mas ao tentar listar todas as propriedades, o Volume não está disponível:

$ dbus-send --print-reply --system --dest=org.bluez \
  /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/fdYY \
  org.freedesktop.DBus.Properties.GetAll \
  string:"org.bluez.MediaTransport1"


   array [
      dict entry(
         string "Device"
         variant             object path "/org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX"
      )
      dict entry(
         string "UUID"
         variant             string "0000110..."
      )
      dict entry(
         string "Codec"
         variant             byte 0
      )
      dict entry(
         string "Configuration"
         variant             array of bytes [
               21 15 02 35
            ]
      )
      dict entry(
         string "State"
         variant             string "active"
      )
      dict entry(
         string "Delay"
         variant             uint16 1500
      )
   ]

Eu também não consigo definir o volume:

$ dbus-send --print-reply --system --dest=org.bluez \
  /org/bluez/hci0/dev_2C_41_A1_02_E7_1C/fd29 \
  org.freedesktop.DBus.Properties.Get \
  string:"org.bluez.MediaTransport1" "string:Volume"

Error org.freedesktop.DBus.Error.InvalidArgs: No such property 'Volume'

Qual é a maneira correta de configurar e ler o volume do dispositivo bluetooth?

    
por Lukasz G. 28.11.2017 / 09:46

0 respostas