我遇到了startBluetoothSco连接速度不够快的问题。如何等待,获取SCO_AUDIO_STATE_CONNECTED返回值,然后继续让我的消息被朗读。在返回connected状态时,我已经朗读了一半的消息。如果我睡了一觉,那么主活动就会停止,什么也不会发生。如你所知,我在Android方面还是个初学者。谢谢
发布于 2014-11-23 14:13:03
这有点老了,但我想我还是会回答的,因为我也有同样的问题。
设置接收器:
ScoReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (intent.getIntExtra(AudioManager.EXTRA_SCO_AUDIO_STATE, -1) ==
AudioManager.SCO_AUDIO_STATE_CONNECTED) {
// SCO now connected
}
}
};然后创建一个IntentFilter并注册接收器
IntentFilter intentFilter = new IntentFilter();
intentFilter.addAction(AudioManager.ACTION_SCO_AUDIO_STATE_UPDATED);
this.registerReceiver(ScoReceiver, intentFilter);然后启动SCO
am = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_COMMUNICATION);
am.startBluetoothSco();什么时候使用完SCO
am.stopBluetoothSco();https://stackoverflow.com/questions/24190838
复制相似问题