Em breve, o Android permitirá que os aplicativos transmitam o áudio das chamadas do seu telefone para o seu tablet

Uma nova biblioteca de software permite que os aplicativos transmitam chamadas VoIP do seu telefone para o seu tablet. Veja como funciona.

O Google finalmente está de volta à discussão sobre tablets com o Tablet Pixel, um dispositivo de entretenimento doméstico que funciona como um hub doméstico inteligente. No dele revisão do Pixel Tablet, Ben Sin do XDA afirma que fornece o “melhor software para tablet Android” que ele já testou. Certamente é promissor ouvir isso porque esperamos que a experiência do software só melhore a partir daqui, à medida que o tablet recebe novos recursos por meio de atualizações do sistema operacional e do aplicativo. Um desses recursos que pode receber é a capacidade de transmitir ou transferir chamadas do seu telefone para o tablet.

Imagine que você está em casa fazendo tarefas domésticas ou descansando no sofá assistindo TV quando recebe uma ligação de um ente querido no Google Meet. Claro, você pode atender a chamada com o telefone na mão, mas se movê-lo para o tablet, você terá uma tela muito maior e alto-falantes melhores. A transferência de mídia pode ser tão simples quanto apertar o botão “transmitir” no aplicativo e selecionar o tablet (este por enquanto só funciona com o Pixel Tablet, já que é o único tablet Android que suporta a atuação como Cast receptor). No Android 13+, você pode até transferir mídia para um dispositivo de transmissão fora do aplicativo

através do switcher de saída do sistema operacional. Eventualmente, você poderá até transmitir chamadas do Google Meet do seu telefone para o seu tablet. E tudo isso graças à nova biblioteca Telecom Jetpack do Google.

Durante o "construindo para o futuro do Android”sessão no Google I/O 2023 no início deste ano, o Google anunciou que lançaria uma nova biblioteca Jetpack chamada “Telecom” que simplifica a superfície da API para integração da pilha de telecomunicações e também possibilita novos recursos, como comutação/roteamento de áudio contínuo e chamada VoIP transferir. Especificamente, o engenheiro de relações com desenvolvedores Dan Galpin disse o seguinte:

“Em outro novo exemplo de APIs desenvolvidas especificamente, estamos lançando uma nova biblioteca Jetpack que oferece suporte a chamadas relacionadas trabalho em segundo plano, simplifica o serviço API da pilha de telecomunicações e traz compatibilidade retroativa para versões recém-lançadas características. Inclui suporte para comutação e roteamento de áudio contínuos e transferência de chamadas para aplicativos VoIP, aproveitando o SDK entre dispositivos.”

O SDK entre dispositivos, para quem não sabe, fornece APIs que simplificam a descoberta de dispositivos próximos, ativação de dispositivos, comunicações seguras e sessões de vários dispositivos por Bluetooth, Wi-Fi e banda ultralarga. Foi anunciado no Google I/O do ano passado e entrou em pré-visualização em agosto do mesmo ano, mas aparentemente sairá do status de pré-visualização neste verão.

Em um dos slides sobre a biblioteca Telecom Jetpack, é mostrada uma captura de tela de uma chamada do Google Meet com a caixa do alternador de saída do Android na parte superior. O alternador de saída mostra que uma chamada do Meet com “Jamie Hall” está em andamento e dá ao usuário a opção para continuar reproduzindo o áudio da chamada em “este telefone” ou transmitir/transferir a chamada para o Pixel do usuário Tábua.

Agora, não está claro se esta captura de tela é apenas uma maquete, já que o Google Meet ainda não oferece suporte para streaming/transferência de chamadas dessa forma. No entanto, a questão é que a biblioteca Telecom Jetpack torna isso possível em primeiro lugar, e os desenvolvedores de VoIP os aplicativos já podem brincar com esse recurso, pois a versão alfa inicial da biblioteca já foi lançado.

A versão 1.0.0-alpha01 da biblioteca Core Telecom foi lançado no Google I/O em 10 de maio de 2023, e “apresenta a API CallsManager que os aplicativos VoIP podem usar para integração com a estrutura Telecom em um dispositivo. As chamadas notificadas para a plataforma se beneficiam de prioridade de execução em primeiro plano, visibilidade em Bluetooth, wearable e dispositivos automotivos e roteamento de áudio simplificado.” Para dispositivos que executam versões mais antigas do Android (todos os caminho de volta ao Android 8.0 Oreo), a API CallsManager “envolve a API ConnectionService herdada”.

Os desenvolvedores de aplicativos VoIP já podem experimentar esse recurso, pois a versão alfa inicial da biblioteca já foi lançada.

O Código fonte para a biblioteca Telecom Jetpack fornece detalhes adicionais sobre o que ela permite. Para começar, revela que a API CallsManager na verdade permite que aplicativos VoIP “adicionem suas chamadas ao serviço Telecom do sistema Android”, o que torna outros serviços “conscientes de [suas] chamadas de aplicativos VoIP” levando a um “ambiente mais estável”. Por exemplo, se uma chamada VoIP for adicionada ao sistema de Telecom, um dispositivo vestível pode atender uma chamada recebida. chamar. Basicamente, o wearable tratará a chamada VoIP como se fosse uma chamada telefônica normal, o que significa que a funcionalidade de controle de chamadas será mais consistente entre os dispositivos. Atualmente, para que as chamadas VoIP apareçam em alguns tipos de wearables conectados, a notificação de chamada VoIP deve ser encaminhada do telefone para o wearable.

Os aplicativos que integram a biblioteca Telecom Jetpack registram quais recursos eles suportam. CAPABILITY_BASELINE significa que o aplicativo VoIP suporta apenas a adição de suas chamadas ao sistema Telecom; CAPABILITY_SUPPORTS_VIDEO_CALLING indica que o aplicativo VoIP tem a capacidade de fazer chamadas de vídeo; finalmente, CAPABILITY_SUPPORTS_CALL_STREAMING indica que o aplicativo VoIP suporta streaming de chamadas.

O diferença entre transmitir uma chamada e transferir uma é que, no primeiro caso, a chamada ainda está sendo tratada pelo dispositivo de origem (como o telefone), mas o áudio e os controles da mídia são "transmitidos" para o dispositivo coletor (como o tábua). Por outro lado, transferir uma chamada envolve, na verdade, movê-la inteiramente do dispositivo de origem para o dispositivo receptor.

Não sei se o Google planeja atualizar a pilha de telefonia do Android e/ou seu aplicativo discador original para oferecer suporte transmitir chamadas telefônicas regulares, mas meu palpite é que esse recurso será limitado a chamadas VoIP no momento ser.

O que aconteceu com as chamadas próximas?

No final de 2021, descobri evidências de que o Google estava preparando um chamada próxima recurso que permitiria vincular seu telefone para “acessar chamadas de [seu] telefone diretamente de [seu] hub Nest [sic] quando você estiver por perto”. Não está claro se esse recurso foi destinado ao Nest Hub real ou a seu parente próximo, o Pixel Tablet, mas, de qualquer forma, não vi nenhuma evidência desde então de que o Google esteja avançando com isso recurso.

Em vez disso, parece que o Google decidiu dar vida a esse recurso por meio de novas APIs de plataforma e da biblioteca Jetpack mencionada acima. A empresa experimentou “chamadas entre dispositivos" e "roteamento de áudio de chamada externa”APIs no Android 13 que foram reformuladas nas APIs que temos agora Andróide 14. É também adicionado uma nova função somente de sistema chamada SYSTEM_CALL_STREAMING que concede ao seu titular CALL_AUDIO_INTERCEPTION e RECORD_AUDIO permissões, duas permissões que permitem respectivamente que um aplicativo “acesse o áudio uplink e downlink de uma chamada em andamento” e gravar audio. É importante notar que o Google Play Services é definido como o detentor da função em telefones Pixel com Android 14, sugerindo que o aplicativo Play Services lidará com o streaming real do áudio da chamada que a biblioteca Jetpack Telecom anuncia.

Uma coisa que não está claro para mim é se o streaming e a transferência de chamadas estarão em todas as versões do Android suportadas pela biblioteca Jetpack. Esperançosamente, o Google poderá esclarecer isso em breve, quando anunciar a disponibilidade da biblioteca.