Android kommer snart att låta appar strömma samtalsljud från din telefon till din surfplatta

Ett nytt mjukvarubibliotek gör det möjligt för appar att streama VoIP-samtal från din telefon till din surfplatta. Så här fungerar det.

Google är äntligen tillbaka i tabletdiskussionen med Pixel surfplatta, en hemunderhållningsenhet som fungerar som en smart hemhub. I hans recension av Pixel Tablet, XDA: s Ben Sin säger att det ger den "bästa Android-surfplattan" han någonsin har testat. Det är verkligen lovande att höra eftersom mjukvaruupplevelsen förhoppningsvis bara kommer att förbättras härifrån eftersom surfplattan får nya funktioner genom OS och appuppdateringar. En sådan funktion som den kan ta emot är möjligheten att streama eller överföra samtal från din telefon till surfplattan.

Föreställ dig att du är hemma och springer runt och gör sysslor eller slappar i soffan och tittar på tv när du får ett samtal från en älskad på Google Meet. Visst, du kan ta samtalet med telefonen i handen, men om du flyttar den till din surfplatta får du en mycket större skärm och bättre högtalare. Att överföra media kan vara så enkelt som att trycka på "cast"-knappen i appen och sedan välja surfplattan (detta Fungerar bara med Pixel-surfplattan för närvarande eftersom det är den enda Android-surfplattan som stöder att agera som en Cast mottagare). På Android 13+ kan du till och med överföra media till en cast-enhet utanför appen

genom OS: s utgångsomkopplare. Så småningom kan du till och med strömma Google Meet-samtal från din telefon till din surfplatta. Och allt detta är tack vare Googles nya Telecom Jetpack-bibliotek.

Under "bygga för framtiden för Android”-session vid Google I/O 2023 tidigare i år meddelade Google att det skulle släppa ett nytt Jetpack-bibliotek som heter "Telecom" som förenklar API-ytan för telekomstackintegration och gör även nya funktioner möjliga, som sömlös ljudväxling/routing och VoIP-samtal överföra. Specifikt sa Developer Relations Engineer Dan Galpin följande:

"I ett annat nytt exempel på specialbyggda API: er släpper vi ett nytt Jetpack-bibliotek som stöder samtalsrelaterade bakgrundsarbete, förenklar telekomstack-API-tjänsten och ger bakåtkompatibilitet för nyligen släppta Funktioner. Det inkluderar stöd för sömlös ljudväxling och routing, och samtalsöverföring för VoIP-appar, som utnyttjar SDK för flera enheter.”

De SDK för flera enheter, för de omedvetna, tillhandahåller API: er som förenklar upptäckt av enheter i närheten, väckning av enheter, säker kommunikation och sessioner med flera enheter över Bluetooth, Wi-Fi och ultrabredband. Det tillkännagavs vid förra årets Google I/O och gick i förhandsvisning i augusti samma år, men det kommer tydligen att lämna förhandsvisningsstatus i sommar.

I en av bilderna om Telecom Jetpack-biblioteket visas en skärmdump av ett Google Meet-samtal med Androids utgångsväxellåda ovanpå. Utgångsväxlaren visar att ett Meet-samtal med "Jamie Hall" pågår och ger användaren möjligheten för att fortsätta spela samtalsljudet på "den här telefonen" eller streama/överföra samtalet till användarens Pixel Läsplatta.

Nu är det oklart om den här skärmdumpen bara är en mockup eftersom Google Meet inte stöder streaming/överföring av samtal på detta sätt ännu. Men poängen är att Telecom Jetpack-biblioteket gör detta möjligt i första hand, och utvecklare av VoIP appar kan redan leka med den här funktionen eftersom den ursprungliga alfaversionen av biblioteket redan har varit det släppte.

Version 1.0.0-alpha01 av Core Telecom-biblioteket var släppte på Google I/O den 10 maj 2023, och den "introducerar CallsManager API som VoIP-appar kan använda för att integrera med telekomramverket på en enhet. Samtal som meddelas till plattformen drar nytta av exekveringsprioritet i förgrunden, synlighet på Bluetooth, bärbart och fordonsenheter, och förenklad ljuddirigering.” För enheter som kör äldre versioner av Android (alla sätt tillbaka till Android 8.0 Oreo), CallsManager API "omsluter det äldre ConnectionService API."

Utvecklare av VoIP-appar kan redan leka med den här funktionen eftersom den första alfaversionen av biblioteket redan har släppts.

De källkod för Telecom Jetpack-biblioteket ger ytterligare information om vad det möjliggör. Till att börja med avslöjar det att CallsManager API faktiskt gör det möjligt för VoIP-appar att "lägga till sina samtal till Android-systemtjänsten Telecom", vilket gör andra tjänster "medvetna om [deras] VoIP-applikationssamtal" vilket leder till en "stabilare miljö." Som ett exempel, om ett VoIP-samtal läggs till i telekomsystemet, kan en bärbar enhet svara på ett inkommande ring upp. I grund och botten kommer den bärbara enheten att behandla VoIP-samtalet som om det vore ett vanligt telefonsamtal, vilket innebär att samtalskontrollfunktionen kommer att vara mer konsekvent på alla enheter. För närvarande, för att VoIP-samtal ens ska dyka upp på vissa typer av anslutna bärbara enheter, måste VoIP-samtalsaviseringen vidarebefordras från telefonen till den bärbara enheten.

Appar som integrerar Telecom Jetpack-biblioteket registrerar vilka funktioner de stöder. CAPABILITY_BASELINE betyder att VoIP-appen endast stöder att dess samtal läggs till i telekomsystemet; CAPABILITY_SUPPORTS_VIDEO_CALLING indikerar att VoIP-appen har förmågan att ringa videosamtal; slutligen, CAPABILITY_SUPPORTS_CALL_STREAMING indikerar att VoIP-appen stöder samtalsströmning.

De skillnad mellan att streama ett samtal och att överföra ett är att med det förra hanteras samtalet fortfarande av källenhet (som telefonen), men medialjudet och kontrollerna "strömmas" till diskbänksenheten (som läsplatta). Däremot innebär överföring av ett samtal faktiskt att samtalet flyttas helt från källenheten till diskenheten.

Jag vet inte om Google planerar att uppdatera Androids telefonstack och/eller dess förstapartsuppringningsapp för att stödja streama vanliga telefonsamtal, men min gissning är att denna möjlighet kommer att vara begränsad till VoIP-samtal för tiden varelse.

Vad hände med Nearby Calling?

I slutet av 2021 upptäckte jag bevis på att Google förberedde en ringer i närheten funktion som låter dig länka din telefon för att "få åtkomst till samtal från [din] telefon direkt från [din] Nest-hub [sic] när du är i närheten." Det är oklart om denna funktion var avsedd för den faktiska Nest Hub eller dess nära släkting Pixel-surfplattan, men i alla fall har jag inte sett några bevis sedan dess för att Google går vidare med detta funktion.

Istället verkar det som att Google bestämde sig för att väcka den här funktionen till liv via nya plattforms-API: er och det tidigare nämnda Jetpack-biblioteket. Företaget experimenterade med "samtal över flera enheter" och "extern samtalsljuddirigering” API: er i Android 13 som omarbetades till de API: er vi nu har i Android 14. Det är också Lagt till en ny systemroll kallad SYSTEM_CALL_STREAMING som ger sin innehavare CALL_AUDIO_INTERCEPTION och RECORD_AUDIO behörigheter, två behörigheter som tillåter en app att "åtkomst till upplänks- och nedlänksljudet för ett pågående samtal" och spela in ljud. Det är värt att notera att Google Play Services definieras som rollinnehavaren på Pixel-telefoner som kör Android 14, vilket tyder på att Play Services-appen kommer att hantera själva strömningen av samtalsljud som Jetpack Telecom-biblioteket annonserar.

En sak som inte är klar för mig är om samtalsströmning och samtalsöverföring kommer att finnas på alla versioner av Android som Jetpack-biblioteket stöder. Förhoppningsvis kan Google ge klarhet i detta snart när det tillkännager tillgängligheten för biblioteket.