Android wkrótce umożliwi aplikacjom strumieniowe przesyłanie dźwięku rozmów z telefonu na tablet

Nowa biblioteka oprogramowania umożliwia aplikacjom przesyłanie strumieniowe połączeń VoIP z telefonu na tablet. Oto jak to działa.

Google w końcu wrócił do dyskusji na temat tabletów z Tablet pikselowy, urządzenie domowej rozrywki, które może również pełnić funkcję inteligentnego centrum domowego. W jego recenzja tabletu PixelBen Sin z XDA twierdzi, że zapewnia „najlepsze oprogramowanie dla tabletów z Androidem”, jakie kiedykolwiek testował. To z pewnością obiecująca wiadomość, ponieważ mamy nadzieję, że korzystanie z oprogramowania będzie się teraz tylko poprawiać, gdy tablet otrzyma nowe funkcje poprzez aktualizacje systemu operacyjnego i aplikacji. Jedną z takich funkcji, jaką może otrzymać, jest możliwość strumieniowego przesyłania lub przekazywania połączeń z telefonu na tablet.

Wyobraź sobie, że jesteś w domu i biegasz po domu, wykonując obowiązki domowe lub wylegując się na kanapie i oglądając telewizję, gdy odbierasz telefon od bliskiej osoby w Google Meet. Jasne, możesz odbierać rozmowy, trzymając telefon w dłoni, ale jeśli przeniesiesz go na tablet, zyskasz znacznie większy wyświetlacz i lepsze głośniki. Przesyłanie multimediów może być tak proste, jak naciśnięcie przycisku „prześlij” w aplikacji, a następnie wybranie tabletu (to na razie działa tylko z tabletem Pixel, ponieważ jest to jedyny tablet z Androidem, który obsługuje funkcję Cast odbiorca). W systemie Android 13 lub nowszym możesz nawet przesyłać multimedia na urządzenie przesyłające poza aplikacją

poprzez przełącznik wyjściowy systemu operacyjnego. W końcu możliwe będzie nawet przesyłanie strumieniowe rozmów w Google Meet z telefonu na tablet. A to wszystko dzięki nowej bibliotece Google Telecom Jetpack.

Podczas "budowanie przyszłości Androida” podczas konferencji Google I/O 2023 na początku tego roku firma Google ogłosiła, że ​​udostępni nową bibliotekę Jetpack o nazwie „Telecom”, która upraszcza powierzchnię API do integracji stosu telekomunikacyjnego, a także umożliwia nowe funkcje, takie jak płynne przełączanie/trasowanie audio i połączenia VoIP przenosić. W szczególności inżynier ds. relacji z deweloperami, Dan Galpin, powiedział, co następuje:

„W kolejnym nowym przykładzie specjalnie stworzonych interfejsów API udostępniamy nową bibliotekę Jetpack obsługującą połączenia pracę w tle, upraszcza usługę API stosu telekomunikacyjnego i zapewnia wsteczną kompatybilność z nowo wydanymi wersjami cechy. Obejmuje obsługę płynnego przełączania i routingu dźwięku oraz transferu połączeń dla aplikacji VoIP, wykorzystując pakiet SDK obsługujący wiele urządzeń.

The SDK dla wielu urządzeńdla nieświadomych zapewnia interfejsy API, które upraszczają wykrywanie urządzeń w pobliżu, wznawianie pracy urządzeń, bezpieczną komunikację i sesje na wielu urządzeniach przez Bluetooth, Wi-Fi i ultraszerokopasmowe łącze. Zostało to ogłoszone na zeszłorocznym Google I/O i weszło do wersji zapoznawczej w sierpniu tego samego roku, ale najwyraźniej utraci status wersji zapoznawczej tego lata.

Na jednym ze slajdów dotyczących biblioteki Telecom Jetpack pokazano zrzut ekranu przedstawiający połączenie w Google Meet z przełącznikiem wyjścia Androida na górze. Przełącznik wyjścia pokazuje, że trwa połączenie Meet z „Jamie Hallem”, i daje użytkownikowi odpowiednią opcję aby kontynuować odtwarzanie dźwięku połączenia na „tym telefonie” lub przesyłać strumieniowo/przekazywać połączenie do Pixela użytkownika Tablet.

Nie jest jasne, czy ten zrzut ekranu to tylko makieta, ponieważ Google Meet nie obsługuje jeszcze przesyłania strumieniowego/przekazywania połączeń w ten sposób. Rzecz jednak w tym, że biblioteka Telecom Jetpack umożliwia to przede wszystkim twórcom VoIP aplikacje mogą już bawić się tą funkcją, ponieważ istnieje już początkowa wersja alfa biblioteki wydany.

Wersja 1.0.0-alpha01 biblioteki Core Telecom była wydany na Google I/O 10 maja 2023 r. i „wprowadza CallsManager API, którego aplikacje VoIP mogą używać do integracji ze strukturą telekomunikacyjną na urządzeniu. Połączenia zgłaszane na platformę mają priorytet wykonania na pierwszym planie, widoczność przez Bluetooth i możliwość noszenia i urządzeń samochodowych oraz uproszczone kierowanie audio.” W przypadku urządzeń ze starszymi wersjami Androida (wszystkie wersje sposób powrót do Androida 8.0 Oreo), interfejs API CallsManager „opakuje starszy interfejs API usługi ConnectionService”.

Twórcy aplikacji VoIP mogą już bawić się tą funkcją, ponieważ wydano już pierwszą wersję alfa biblioteki.

The kod źródłowy dla biblioteki Telecom Jetpack zawiera dodatkowe szczegóły dotyczące jej możliwości. Na początek ujawnia, że ​​interfejs API CallsManager w rzeczywistości umożliwia aplikacjom VoIP „dodawanie swoich połączeń do usługi Telecom systemu Android”, dzięki czemu inne usługi „świadome są [ich] połączenia aplikacji VoIP”, co prowadzi do „bardziej stabilnego środowiska”. Na przykład, jeśli do systemu telekomunikacyjnego zostanie dodane połączenie VoIP, urządzenie do noszenia na ciele może odebrać połączenie przychodzące dzwonić. Zasadniczo urządzenie do noszenia będzie traktować połączenie VoIP tak, jakby było to zwykłe połączenie telefoniczne, co oznacza, że ​​funkcjonalność kontroli połączeń będzie bardziej spójna na wszystkich urządzeniach. Obecnie, aby połączenia VoIP były w ogóle widoczne na niektórych typach podłączonych urządzeń do noszenia, powiadomienie o połączeniu VoIP musi zostać przekazane z telefonu do urządzenia do noszenia.

Aplikacje integrujące bibliotekę Telecom Jetpack rejestrują, jakie funkcje obsługują. CAPABILITY_BASELINE oznacza, że ​​aplikacja VoIP obsługuje tylko dodawanie połączeń do systemu telekomunikacyjnego; CAPABILITY_SUPPORTS_VIDEO_CALLING wskazuje, że aplikacja VoIP ma możliwość wykonywania połączeń wideo; na koniec CAPABILITY_SUPPORTS_CALL_STREAMING wskazuje, że aplikacja VoIP obsługuje przesyłanie strumieniowe połączeń.

The różnica pomiędzy przesyłaniem strumieniowym połączenia a jego przekazywaniem jest to, że w pierwszym przypadku połączenie jest nadal obsługiwane przez urządzenie źródłowe (takie jak telefon), ale dźwięk multimediów i elementy sterujące są „przesyłane strumieniowo” do urządzenia ujściem (np tablet). Natomiast przekazanie połączenia w rzeczywistości polega na całkowitym przeniesieniu połączenia z urządzenia źródłowego do urządzenia odbiorczego.

Nie wiem, czy Google planuje zaktualizować stos telefoniczny Androida i/lub własną aplikację do wybierania numerów, aby obsługiwała strumieniowe przesyłanie zwykłych rozmów telefonicznych, ale przypuszczam, że na razie ta funkcja będzie ograniczona do połączeń VoIP istnienie.

Co się stało z Połączeniami w pobliżu?

Pod koniec 2021 r. odkryłem dowody na to, że Google przygotowywał plik dzwonienie w pobliżu funkcja, która pozwoli Ci połączyć swój telefon, aby „uzyskiwać dostęp do połączeń z [Twojego] telefonu bezpośrednio z [Twojego] centrum Nest [sic!], gdy będziesz w pobliżu”. Nie jest jasne, czy ta funkcja była przeznaczony dla rzeczywistego Nest Hub lub jego bliskiego krewnego, tabletu Pixel, ale w każdym razie od tego czasu nie widziałem żadnych dowodów na to, że Google postępuje w tym kierunku funkcja.

Zamiast tego wygląda na to, że Google zdecydował się ożywić tę funkcję za pomocą nowych interfejsów API platformy i wspomnianej biblioteki Jetpack. Firma eksperymentowała z „połączenia między urządzeniami" I "zewnętrzne kierowanie audio połączeńInterfejsy API w systemie Android 13, które zostały przerobione na interfejsy API, z których korzystamy obecnie Androida 14. To także dodany nową rolę systemową o nazwie SYSTEM_CALL_STREAMING, która przyznaje swojemu posiadaczowi CALL_AUDIO_INTERCEPTION i RECORD_AUDIO uprawnienia, dwa uprawnienia, które odpowiednio umożliwiają aplikacji „dostęp do dźwięku łącza w górę i w dół w trakcie trwającego połączenia” oraz Nagrać dźwięk. Warto zauważyć, że Usługi Google Play definiuje się jako osobę pełniącą rolę na telefonach Pixel z systemem Android 14, sugerując, że aplikacja Play Services będzie obsługiwać faktyczne przesyłanie strumieniowe dźwięku połączeń, które zapewnia biblioteka Jetpack Telecom reklamuje.

Nie jest dla mnie jasne, czy przesyłanie strumieniowe i przekazywanie połączeń będzie dostępne we wszystkich wersjach Androida obsługiwanych przez bibliotekę Jetpack. Mamy nadzieję, że Google wkrótce wyjaśni tę kwestię, ogłaszając dostępność biblioteki.