Hfp kullanarak eller serbest istemci aygıtı gibi davranan bir android cihaz var.Bluetooth eller serbest istemci ses kontrolü
beklediğim gibi çalıştığını bir çağrı ve hoparlörler ve mikrofon alabilir duyuyorum.
Sorunum, birimi kontrol edemiyorum.
Doğru akışı bulmak için aşağıdaki kod satırlarını kullanmayı denedim, ancak bunların hiçbiri çalışmıyor gibi görünüyor. Ben hacim komutu izlenen
aşağıdaki bağlantıda, sınıf HeadsetClientStateMachine
müşteriye telefondan hat # 1822 gönderiliyor: Telefonda ses düzeyini değiştirdiğinizde HeadsetClientStateMachine from lolipop
case EVENT_TYPE_VOLUME_CHANGED:
if (event.valueInt == HeadsetClientHalConstants.VOLUME_TYPE_SPK) {
mAudioManager.setStreamVolume(AudioManager.STREAM_BLUETOOTH_SCO, event.valueInt2, AudioManager.FLAG_SHOW_UI);
mVgsFromStack = true;
Log.d(TAG, "EventVolumeChange STREAM_BLUETOOTH_SCO value: " + event.valueInt2);
}
, ben görüyorum sesin güncellenmiş değerini gösteren kayıt, yani setStreamVolume()
yönteminin çağrıldığını, ancak sesin değişmediğini gösterir.
Bu sorunun neden kaynaklandığını bilen var mı?
DÜZENLEME: Hâlâ bir cevap arıyorum ve şimdi ses HAL uygulanması doğru arıyorum
. HAL ve ses sürücüsü arasındaki bağlantının bir şekilde yanlış olduğunu sanıyorum. Düşük seviye uygulama hakkında fazla bir şey bilmiyorum ve ne aramam gerektiğinden emin değilim.
Söylemeyi unuttum: HFPClient sınıfları Kitkat'ta mevcut değil: https://android.googlesource.com/platform/frameworks/base/+/kitkat-release/core/java/android/bluetooth/ onlar geri döndü lolipoptan taşınır, böylece kullandığım kod lolipop uygulamasıyla aynıdır. – Distwo
Bu sorunun neden olabileceğini düşünüyor musunuz? –
Belki şu anda bu yönde araştırıyorum. Paralel olarak, HFP istemci profilinin, sesi kontrol etmesini engelleyen, bilinen bir android davranışı olup olmadığını merak ediyordum. – Distwo