2015-09-01 28 views
80

Hfp kullanarak eller serbest istemci aygıtı gibi davranan bir android cihaz var.Bluetooth eller serbest istemci ses kontrolü

Using the following code:

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.

+1

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

+1

Bu sorunun neden olabileceğini düşünüyor musunuz? –

+1

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

cevap

2

Lütfen aşağıdan deneyebilir misiniz? Eğer doğru anlamak Kendimi denemek ama benzer bir sorun sesler vermedi.

Android Bluetooth Earpiece Volume

"Android Onun yerine AudioManager.STREAM_VOICE_CALL 6 kullanabilir ve deneyin belgelenmiş bluetooth hacmi için int 6 değil kullanıyor, Bu çalışması gerekir "

sana 6.

İyi şans ile AudioManager.STREAM_BLUETOOTH_SCO değiştirmek şeklinde olacaktır için, işe umuyoruz varsayalım.

+0

Ben de denedim ... – Distwo