在我的Voip应用程序中,当然支持蓝牙耳机和汽车的蓝牙接口。 如何正确发信号通知打来的(voip)呼叫,以便在汽车显示屏上显示打入的电话号码?
该应用程序使用pjsip,一切正常,即使是通过蓝牙的音频。
当检测到来电时,将打开蓝牙连接,并且(可能是我的错误开始)打开音频流以播放铃声(此处将mode
参数设置为MODE_RINGTONE
情况)。
public void startBluetoothAudio(int mode) {
try {
AudioManager audioManager = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
if (audioManager != null) {
audioManager.setMode(AudioManager.MODE_NORMAL);
if (isSystemBluetoothEnabled()) {
appRedirected = true;
audioManager.setBluetoothScoOn(true);
audioManager.startBluetoothSco();
}
audioManager.setMode(mode);
}
} catch (Exception e) {
Uclog.error("Exception caught starting bluetooth audio.", e);
appRedirected = false;
}
}
然后发生的是:
汽车立即将其显示为正在通话(时间在计时),并且没有“接受/拒绝”按钮出现。只有一个“挂断”按钮。 当我按hangup时,呼叫实际上是建立的。再次按hangup,可以正确终止通话。
我的错误一定是在来电信号中。如何告诉耳机呼叫正在响铃,以便耳机的媒体按钮正确反应?
非常清楚,我在这里错过了一些重要的事情,因为我目前不知道如何发送传入号码,以便将其显示在汽车的显示器上。
任何帮助都将不胜感激!
如果您需要查看更多内容或有其他问题,请问一下!
谢谢,格里斯