Linux ve Bluetooth komut dosyalarında da yeniyim. Şimdiye kadar keşfettiğim şu:
- Bluez, varsayılan BT yığınıdır.
- BluezTools, Bluez ile daha kolay etkileşim kurmak için kullanabileceğiniz bir dizi yardımcı programdır
- DBus, Bluez'in doğrudan donanımla etkileşime girerken bağlandığı arabirimdir.
- PulseAudio, sistemde ses üretmekten sorumlu alt sistemdir.
Bu mantıklı. Diyelim ki bir dizi BlueTooth kulaklığım var, beklediğim şey (eşleştirme ve güvenme sonrasında), BT kulaklıklardaki belirli bir profile doğrudan bağlanabilen bir komut verebilmektir.
Aklımdaki teknik yol şöyle olacaktır:
- Kulaklıkları açın.
- Bt-audio -c gibi bir BluezTools komutu verin
- Cihazın, takip ettiğim servise bağlanmasını bekleyin
- PulseAudio şimdi yeni bir çıkış cihazı almalı
- Sesi yeni çıkış sesine (BT kulaklıklar) değiştirmek için başka bir komut verin.
- Kusursuz bir dinleme deneyiminin keyfini çıkarın.
Tüm bunlar mantıklı görünüyor, ancak asıl uygulama böyle değil ve NEDEN'i arıyorum, bu yüzden sorunu daha iyi anlayabilir ve düzeltebilirim.
Aslında olan budur:
- Kulaklıkları açın.
- Bt-audio -c gibi bir BluezTools komutu verin
- Cihazın, takip ettiğim servise bağlanmasını bekleyin
- PulseAudio şimdi yeni bir çıkış cihazı almalı
- Ses profilini telefon kalitesinden yüksek aslına uygun hale getirmek için PulseAudio komutu verin.
Biraz daha genişleyeyim. Bluetooth kulaklık 2 kalite modu sunar (telefon ve yüksek sadakat). Sadece 1 müzik dinlemek için gerçekten uygundur.
BT kulaklıkların her kalite modunu hizmet olarak göstermesini beklerdim, doğru mu? Bu varsayım yanlış olabilir, ama böyle bir şey beklerdim
bt-audio -c highFidelityProfile
veya
bt-audio -changeProfile highFidelityProfile
Bunun yerine, Bluez'in cihaza RAW bağlantısını işlediği ve oradan aşağıdakileri vermeniz gerekir: pacmd set-card-profile $ INDEX a2dp
Bu temelde yanlış görünüyor. Ses alt sistemindeki kalite kontrolü neden nabız veya alsa veya başka bir ses alt sistemi için farklı bir uygulama gerektiriyor?
Neyi kaçırıyorum? Bluez / BluezTools vb. Kullanarak belirli bir profile doğrudan bağlanmak neden mümkün değildir?