几天来,我一直在尝试通过SmartBand Talk (SWR30)发送谷歌文本到语音的音频。我对AndroidManifest.xml有正确的权限
PERMISSION_CONTROL_EXTENSION、BLUETOOTH_ADMIN、蓝牙、MODIFY_AUDIO_SETTINGS、BROADCAST_STICKY
我使用下面的代码来获取AudioManager:
mAudioManager = (AudioManager) context
.getSystemService(Context.AUDIO_SERVICE);并通过SmartBand Talk使用AudioManager进行对话,如下所示:
mAudioManager.setSpeakerphoneOn(false);
mAudioManager.startBluetoothSco();
mAudioManager.setMode(AudioManager.MODE_IN_CALL);
mAudioManager.setBluetoothScoOn(true);
speakMethod();此解决方案适用于某些设备,这意味着我可以真正通过SmartBand Talk听到消息。但对于其他一些设备(如三星Galaxy S5 4.4.2,LG Nexus5棒棒糖和索尼Z3 4.4.4),这种解决方案并不是很有吸引力,因为很少有音频通过SmartBand Talk,几乎95%的时间在电话上,而不是在配对的蓝牙设备上。
我想知道设备扩展在这种情况下是否正常工作,其中音频将发送到蓝牙设备,并与电话正确配对。
我想知道是否有可能有一些稳定的东西,在每一部手机上都能工作,还是不可能。
发布于 2015-03-31 19:13:41
这段代码看起来几乎是正确的。但它包含一些不必要的调用。
尽管如此,对于某些智能手机,setSpeakerphoneOn(false)调用在大多数来源中都是被建议的。我发现在Z3上没有必要这么做。
你可以查看下面的链接文章。它展示了如何在支持HFP的设备上使用音频。它是为SmartEyeglass编写的。但它在SmartBand Talk上应该是一样的。
https://developer.sony.com/develop/wearables/smarteyeglass-sdk/guides/use-bluetooth-for-audio-io/
https://stackoverflow.com/questions/28025672
复制相似问题