Как инициировать вызов с HF через AG через Handfree Audio Gateway в Android?

До сих пор я был в состоянии инициировать вызов с AG (Audio Gateway), который является телефоном Android, через соединение Bluetooth с телефона, на котором загружено мое приложение (HF или Hands-free), на целевой телефон. Я использовал этот код для этой процедуры:

   ///////////////////////////////////////////////////////////////////////////////         
           //Here, how to establish voice connectivity from AG to my phone(HF)?
    //////////////////////////////////////////////////////////////////////////////        

        // Calling the target phone from the AG via the HF using bluetooth Handfree Audio Gateway
            try {
                mmOutStream.write(("ATD"+phone_number+"\r").getBytes());
            } catch (IOException e1) {
                // TODO Auto-generated catch block
                e1.printStackTrace();
            }
            try {
                Thread.sleep(1000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }

Прямо сейчас я могу инициировать вызов со своего устройства громкой связи (HF), но я не могу услышать рингтон или услышать, как говорит другой человек.

Похоже, я только что смог запустить механизм вызова до сих пор. Как установить аудиосвязь, чтобы я мог также слышать говорящего на целевом телефоне и говорить?

1 ответ

Похоже, что вы пытаетесь реализовать роль устройства громкой связи на телефоне. Один из способов сделать это, если у вас есть 2 телефона, телефон A (ведет себя как AG), телефон B (блок громкой связи), то

  1. Телефон B должен отправить соответствующие AT-команды на телефон A, чтобы он выглядел как гарнитура Bluetooth. Если это сделано правильно, то я не думаю, что на телефоне А требуются какие-либо изменения для маршрутизации звука на канал Bluetooth SCO. Чтобы увидеть, какие AT-команды отправляются устройством громкой связи, возможно, помогут журналы с телефона A (AG), подключенного к стандартной гарнитуре Bluetooth. Или спецификация громкой связи.

  2. На телефоне B, при условии, что все AT-команды были отправлены на телефон A, чтобы сделать себя HF-модулем, а затем устанавливается вызов (с телефона A на удаленную сторону) путем отправки ATD с телефона B, телефон A может быть настроен SCO, как это было бы со стандартной гарнитурой Bluetooth. Если нет, то Телефон B может вызвать AudioManager.startBluetoothSco() для настройки SCO. В дополнение к настройке SCO, телефон B должен будет направлять аудио в SCO. Я думаю, что API-интерфейсами являются AudioManager.SetMode() и AudioManager.setBluetoothScoOn().

Другие вопросы по тегам