2014-09-04 11 views
10

S3, S4 ve Samsung Grand gibi bazı cihazlarda iyi çalışan ses tanıma özellikli bluetooth kulaklık kullanmam gerekiyor. Ben Nexus 7'de aynı çalıştığında startVoiceRecognition() yöntemini arıyorum Ancak, benstartVoiceRecognition ile bluetooth kulaklık çalışmıyor

BluetoothHeadsetServiceJni : Failed to start voice recognition, status: 6 

hatası alıyorum. Bu SO page kodunu kullanıyorum.

Bu sorunun olası nedenleri yalnızca bazı aygıtlarda ortaya çıkıyor? Bu sorunu çözmenin bir yolu var mı?

cevap

1

Narayan'dan bahsettim, BluetoothHeadset'i buldum.STATE_AUDIO_CONNECTED nexus 7'de ve diğer bazı ZTE cihazlarında da yanıyor, bu bir arıza olabilir veya bu cihaz çağrıyı desteklemiyor olabilir ve call_mode, bence bu sorunu çözmek için bir çözüm var

3

Ayakkabı sıçan önerisini kullanarak bağlantıdaki başlangıç ​​yöntemini değiştirin ve çalışıp çalışmayacağını görün. Nexus 7, Bluetooth HFP VoiceRecognition içerir (handsfreee profili) desteklemez çünkü

public boolean start() 
{ 
    if (!mIsStarted) 
    { 
     mIsStarted = true; 
     if (Build.VERSION.SDK_INT < Build.VERSION_CODES.HONEYCOMB || "Nexus 7".equals(Build.MODEL) 
     { 
      mIsStarted = startBluetooth(); 
     } 
     else 
     { 
      mIsStarted = startBluetooth11(); 
     } 
    } 

    return mIsStarted; 
} 
+0

Hedef modeli belirlemek için 'Build.MODEL' kullanabilirsiniz. Bu, eğer Nexus 7 ile yapsayim, "Nexus 7" .equals (Build.MODEL) ' – ozbek

+0

ile degistirilebiliyorsa son durum, bu sorun diger aygitlarda ortaya çikabilir, bu yüzden nasil yönetilirim herhangi bir geçici çözüm istiyorum sadece bu sorunun arkasında yatan sebebi bilmek istiyorum, çünkü geçici çözüm için de zaman aşımına ekleyebiliriz onScoAudioConnected yöntemi ve tüm cihazlar üzerinde çalışacağım kadar kontrol ettim –

0

Nexus 7, VoiceRecognition desteklemez. Aygıt Bluetooth bilgisini https://www.bluetooth.org/tpg/listings.cfm içinde bulabilirsiniz.

+0

Benim nexus 7 üzerinde çalışıyor ama geçici çözüm olarak değil normalde –

+0

Gerçekten mi? Bluetooth sco manully'yi başlatmak için AudioManager.startBluetoothSco() kullanıyor musunuz? –

+0

Evet, şu adresten arıyorumScoAudioConnected(); mCountDown11 bitirmek için yöntem çağrısı ve BluetoothHeadset'i tanımlamak için bir kontrol de ekledim.STATE_AUDIO_CONNECTED çağrılmadı, bundan sonra neredeyse tüm cihazlarda çalıştığım kadar kontrol edebiliyorum –

İlgili konular