Android скоро ще позволи на приложенията да предават поточно аудио от разговори от вашия телефон към вашия таблет

Нова софтуерна библиотека позволява на приложенията да предават поточно VoIP разговори от вашия телефон към вашия таблет. Ето как работи.

Google най-накрая се върна в дискусията за таблетите с Пиксел таблет, устройство за домашно забавление, което служи и като интелигентен домашен хъб. В неговия преглед на таблета Pixel, Бен Син от XDA казва, че предоставя „най-добрия софтуер за таблети с Android“, който някога е тествал. Това със сигурност е обещаващо да се чуе, защото се надяваме, че софтуерното изживяване ще се подобри само оттук, тъй като таблетът получава нови функции чрез актуализации на операционната система и приложенията. Една такава функция, която може да получи, е възможността за поточно предаване или прехвърляне на повиквания от вашия телефон към таблета.

Представете си, че сте вкъщи и тичате наоколо по домакинска работа или се излежавате на дивана и гледате телевизия, когато получите обаждане от любим човек в Google Meet. Разбира се, можете да приемете разговора с телефона си в ръка, но ако го преместите на таблета си, ще получите много по-голям дисплей и по-добри високоговорители. Прехвърлянето на мултимедия може да бъде толкова просто, колкото да натиснете бутона „cast“ в приложението и след това да изберете таблета (това засега работи само с Pixel Tablet, тъй като това е единственият Android таблет, който поддържа действие като Cast приемник). На Android 13+ можете дори да прехвърляте мултимедия към устройство за предаване извън приложението

чрез изходния превключвател на операционната система. В крайна сметка може дори да можете да предавате поточно обаждания в Google Meet от телефона си към таблета си. И всичко това е благодарение на новата библиотека Telecom Jetpack на Google.

По време на "изграждане на бъдещето на Android” на Google I/O 2023 по-рано тази година, Google обяви, че ще пусне нова библиотека Jetpack, наречена „Telecom”, която опростява повърхността на API за интегриране на телекомуникационен стек и също така прави възможни нови функции, като безпроблемно аудио превключване/маршрутизиране и VoIP повикване трансфер. По-конкретно, инженерът за връзки с разработчиците Дан Галпин каза следното:

„В друг нов пример за специално изградени API, ние пускаме нова библиотека Jetpack, която поддържа свързани с обажданията работа във фонов режим, опростява услугата API на стека на телекомуникациите и осигурява обратна съвместимост за новоиздадени Характеристика. Той включва поддръжка за безпроблемно аудио превключване и маршрутизиране и прехвърляне на повиквания за VoIP приложения, използвайки SDK за различни устройства.“

The SDK за различни устройства, за тези, които не знаят, предоставя API, които опростяват откриването на устройства наблизо, събуждането на устройството, защитени комуникации и сесии с множество устройства през Bluetooth, Wi-Fi и ултрашироколентова връзка. Беше обявено на миналогодишния Google I/O и влезе в визуализация през август същата година, но очевидно ще излезе от статуса на визуализация това лято.

В един от слайдовете за библиотеката Telecom Jetpack е показана екранна снимка на повикване в Google Meet с кутия за превключване на изхода на Android отгоре. Изходният превключвател показва, че се провежда разговор в Meet с „Jamie Hall“ и дава на потребителя опция за да продължите да възпроизвеждате звука на повикването на „този телефон“ или да предавате/прехвърлите повикването към Pixel на потребителя Таблет.

Сега не е ясно дали тази екранна снимка е просто макет, тъй като Google Meet все още не поддържа стрийминг/прехвърляне на разговори по този начин. Въпросът обаче е, че библиотеката Telecom Jetpack прави това възможно на първо място и разработчиците на VoIP приложенията вече могат да играят с тази функция, тъй като първоначалната алфа версия на библиотеката вече е налична освободен.

Версия 1.0.0-alpha01 на библиотеката Core Telecom беше освободен на Google I/O на 10 май 2023 г. и „въвежда CallsManager API, който VoIP приложенията могат да използват за интегриране с телеком рамката на устройство. Обажданията, уведомени до платформата, се възползват от приоритет на изпълнение на преден план, видимост на Bluetooth, носене и автомобилни устройства и опростено аудио маршрутизиране.“ За устройства, работещи с по-стари версии на Android (всички начин обратно към Android 8.0 Oreo), API на CallsManager „обвива наследения API на ConnectionService“.

Разработчиците на VoIP приложения вече могат да си поиграят с тази функция, тъй като първоначалната алфа версия на библиотеката вече е пусната.

The програмен код за библиотеката Telecom Jetpack предоставя допълнителни подробности за това какво позволява. Като за начало той разкрива, че API на CallsManager всъщност позволява на VoIP приложенията да „добавят своите обаждания към системната услуга на Android Telecom“, което прави другите услуги „наясно с [техните] разговори с VoIP приложение“, което води до „по-стабилна среда“. Като пример, ако към телекомуникационната система се добави VoIP повикване, носимо устройство може да отговори на входящо обадете се. По принцип носимото ще третира VoIP повикването, сякаш е обикновено телефонно обаждане, което означава, че функционалността за контрол на повикванията ще бъде по-последователна на всички устройства. Понастоящем, за да могат VoIP разговорите дори да се показват на някои видове свързани носими устройства, известието за VoIP повикване трябва да бъде препратено от телефона към носимото устройство.

Приложенията, които интегрират библиотеката Telecom Jetpack, регистрират какви възможности поддържат. CAPABILITY_BASELINE означава, че приложението VoIP поддържа само добавянето на своите обаждания към телекомуникационната система; CAPABILITY_SUPPORTS_VIDEO_CALLING показва, че приложението VoIP има възможност за извършване на видео разговори; накрая, CAPABILITY_SUPPORTS_CALL_STREAMING показва, че приложението VoIP поддържа поточно предаване на разговори.

The разлика между стрийминг на повикване и прехвърляне на такова е, че при първото повикването все още се обработва от изходно устройство (като телефона), но медийното аудио и контроли се „поточно предават“ към приемното устройство (като таблет). За разлика от това, прехвърлянето на повикване всъщност включва преместване на повикването изцяло от устройството източник към устройството приемник.

Не знам дали Google планира да актуализира стека за телефония на Android и/или своето приложение за набиране от първа страна, за да поддържа стрийминг на редовни телефонни разговори, но предполагам, че тази възможност ще бъде ограничена до VoIP разговори за времето същество.

Какво стана с Nearby Calling?

Още в края на 2021 г. открих доказателства, че Google подготвя a близко обаждане функция, която ще ви позволи да свържете телефона си с „достъп до обаждания от [вашия] телефон директно от [вашия] Nest hub [sic], когато сте наблизо.“ Не е ясно дали тази функция е била предназначен за действителния Nest Hub или неговия близък роднина Pixel Tablet, но във всеки случай не съм виждал никакви доказателства оттогава, че Google продължава напред с това особеност.

Вместо това изглежда, че Google е решил да вдъхне живот на тази функция чрез нови API на платформата и гореспоменатата библиотека Jetpack. Компанията експериментира с „обаждане между устройства" и "външно аудио маршрутизиране на повикване” API в Android 13, които бяха преработени в API, които имаме сега Android 14. То е също добавен нова само системна роля, наречена SYSTEM_CALL_STREAMING, която предоставя на притежателя си CALL_AUDIO_INTERCEPTION и RECORD_AUDIO разрешения, две разрешения, които съответно позволяват на приложението да „осъществи достъп до аудиото за връзка нагоре и надолу на текущо повикване“ и запис на аудио. Струва си да се отбележи, че услугите на Google Play се определят като носител на ролята на телефони Pixel с Android 14, което предполага, че приложението Play Services ще обработва действителното поточно предаване на звука на повикване, което библиотеката на Jetpack Telecom рекламира.

Едно нещо, което не ми е ясно, е дали поточно предаване на обаждания и прехвърляне на обаждания ще бъдат на всички версии на Android, които библиотеката Jetpack поддържа. Надяваме се, че Google може да предложи яснота по този въпрос скоро, когато обяви наличността на библиотеката.