我一直在尝试通过SmartBand Talk(SWR30)发送Google文本到语音的音频。我对AndroidManifest.xml拥有正确的权限
PERMISSION_CONTROL_EXTENSION,
BLUETOOTH_ADMIN,
蓝牙,
MODIFY_AUDIO_SETTINGS,
BROADCAST_STICKY
我正在使用以下代码来获取AudioManager:
mAudioManager = (AudioManager) context
.getSystemService(Context.AUDIO_SERVICE);
并使用AudioManager像这样通过SmartBand Talk讲话:
mAudioManager.setSpeakerphoneOn(false);
mAudioManager.startBluetoothSco();
mAudioManager.setMode(AudioManager.MODE_IN_CALL);
mAudioManager.setBluetoothScoOn(true);
speakMethod();
该解决方案适用于某些设备,这意味着我可以真正通过SmartBand Talk听到消息。但是对于某些其他设备(例如三星Galaxy S5 4.4.2,LG Nexus 5 Lollipop 和索尼Z3 4.4.4),此解决方案就无法发挥吸引力,因为很少有音频通过SmartBand Talk进行通话,几乎95%的时间都通过SmartBand Talk进行。手机,而不是在配对的蓝牙设备上。
我想知道设备扩展名是否可以在这种情况下正常工作,在这种情况下,音频将被发送到与设备正确配对的蓝牙设备。
我想知道是否有可能在每部手机上使用稳定的东西,或者是否不可能。
最佳答案
该代码段看起来几乎是正确的。但是它包含一些不必要的调用。
虽然,对于某些智能手机,建议在大多数来源中使用setSpeakerphoneOn(false)调用。我发现Z3上没有必要。
您可以在下面查看链接的文章。它显示了如何在支持HFP的设备上使用音频。它是为SmartEyeglass编写的。但是它在SmartBand Talk上应该也可以工作。
https://developer.sony.com/develop/wearables/smarteyeglass-sdk/guides/use-bluetooth-for-audio-io/
关于text-to-speech - Smartband Talk-通过它进行音频,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28025672/