2013-10-01 79 views
1

我想用我的耳機與hfp並將TTS流式傳輸到耳機,而不使用a2dp配置文件。帶有HFP配置文件的Android TTS

1)I初始化音頻管理器:

audio = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE); 
audio.setMode(AudioManager.MODE_IN_CALL); 

2)I使用反射配對的設備:

Method m = device.getClass().getMethod("createBond", (Class[]) null); 

Object invokeResult = m.invoke(device, (Object[]) null); 

3)當我收到意圖BluetoothDevice.ACTION_BOND_STATE_CHANGED和新狀態是BluetoothDevice類.BOND_BONDED我使用IBluetoothHeadset android界面綁定到耳機。

mContext.bindService(new Intent(IBluetoothHeadset.class.getName()), mConnection, Context.BIND_AUTO_CREATE) 

4)onServiceConnected執行我調用:

boolean connectResult = mService.connect(headset); 

5)如果connectResult是真的,我的init音頻:

audio.setBluetoothScoOn(on); 
audio.startBluetoothSco(); 

但是,當我打電話:

tts.speak(text, TextToSpeech.QUEUE_ADD, null); 

the aud io不會重定向到耳機。

注意:在這種情況下audio.isBluetoothA2dpOn()返回false。

如果我以前使用Android系統配對設備,我只能成功重定向音頻。在這種情況下,audio.isBluetoothA2dpOn()返回true。

是否有任何方法使用TTS與HFP配置文件?

我已經嘗試過這種解決方案,但它並沒有爲我

TTS output always going to A2DP

謝謝合作!

回答

0

在Google Play中試用SoundAbout。它具有允許將音頻路由到藍牙單聲道(HFP)的TTS設置。