Dlaczego aplikacja nagrywa tylko mój głos? Diagnoza na Androidzie

Jeśli aplikacja nagrywa tylko Twój głos, jedną z możliwych przyczyn jest zapisywanie dźwięku z mikrofonu bez dostępu do głosu drugiej strony. Telefon może prawidłowo prowadzić rozmowę, a program nagrywający nie otrzymywać jej pełnego dźwięku. Samo zezwolenie na używanie mikrofonu nie potwierdza dostępu do obu stron połączenia. Diagnozę zacznij od ustalenia rodzaju rozmowy i krótkiego nagrania próbnego bez słuchawek.
Najpierw ustal, jakie połączenie nagrywasz
Zapisz model telefonu, wersję Androida, nazwę i wersję aplikacji nagrywającej oraz aplikacji, w której prowadzisz rozmowę. Dodaj informację, czy problem występuje od pierwszego użycia, czy pojawił się po konkretnej zmianie. To pozwoli odróżnić konfigurację, która nigdy nie działała, od takiej, która przestała działać po aktualizacji albo podłączeniu akcesorium.
Następnie rozdziel dwa przypadki. Pierwszy to zwykła rozmowa na numer telefonu, obsługiwana przez operatora komórkowego, często potocznie określana jako GSM. Drugi to połączenie internetowe w komunikatorze, czyli VoIP. Wynik próby z jednym rodzajem rozmowy nie potwierdza działania nagrywania w drugim. Nawet dwie różne aplikacje do rozmów internetowych trzeba sprawdzić osobno.
- Brakuje pliku: zacznij od sprawdzenia, czy nagrywanie zostało uruchomione i czy aplikacja zgłasza błąd zapisu.
- Plik powstaje, ale zawiera ciszę: sprawdź dostęp aplikacji do mikrofonu i porównaj próbkę nagraną poza rozmową, jeśli program umożliwia taki zapis.
- Słychać wyłącznie Twój głos: skup się na dostępie do dźwięku rozmówcy oraz na tym, czy używasz słuchawek, Bluetooth lub głośnika.
- Obie strony słychać tylko w niektórych próbach: zapisz różnice między nimi, zamiast od razu zmieniać wszystkie ustawienia.
Do porównania używaj rozmowy próbnej bez poufnych treści z osobą, która wie o nagrywaniu. Wystarczy kilkadziesiąt sekund i kilka zdań wypowiedzianych na zmianę. Nie oceniaj działania wyłącznie po ikonie nagrywania, liczniku czasu ani rozmiarze pliku. Odsłuch jest konieczny, ponieważ plik może mieć prawidłową długość, a mimo to nie zawierać wypowiedzi rozmówcy.
Mikrofon i dźwięk połączenia to różne źródła
Mikrofon zbiera dźwięki z otoczenia. Głos osoby po drugiej stronie telefon odbiera osobnym torem i kieruje do słuchawki telefonu, głośnika lub zestawu słuchawkowego. Program, który ma dostęp do mikrofonu, nie musi otrzymywać również tego odbieranego sygnału. Dlatego własny głos może być wyraźny, a głos rozmówcy bardzo cichy albo całkowicie nieobecny.
W dokumentacji Androida źródło audio oznaczone jako VOICE_CALL wymaga systemowego uprawnienia CAPTURE_AUDIO_OUTPUT. Zwykła aplikacja instalowana przez użytkownika z reguły nie otrzymuje takiego uprawnienia. Nie należy utożsamiać go ze zwykłą zgodą użytkownika na mikrofon. Sam napis „rozmowa” w ustawieniach rejestratora nie dowodzi, że program otrzymał potrzebny dostęp. Również obecność wyboru źródła dźwięku nie gwarantuje działania każdej pozycji na danym telefonie.
Android określa także zasady współdzielenia wejścia audio, w tym podczas połączeń głosowych. Z kolei w Androidzie 9 wprowadzono ograniczenia dostępu aplikacji działających w tle do mikrofonu. To odrębne kwestie: możliwość rozpoczęcia zapisu, dostęp do mikrofonu i dostęp do pełnego dźwięku połączenia nie są jednym ustawieniem. Udany zapis notatki głosowej poza rozmową potwierdza tylko ten konkretny sposób nagrywania.
Sprawdź, czy aplikacja ma przyznany dostęp do mikrofonu i czy nie wyświetla komunikatu o brakującym uprawnieniu. Jeśli jej instrukcja przewiduje wybór źródła audio, zmieniaj po jednej opcji i po każdej zmianie wykonuj tę samą krótką próbę. Nazwy opcji oraz ich dostępność zależą od programu i jego wersji. Nie ma jednej nazwy ustawienia, którą można wskazać wszystkim użytkownikom Androida.
Ograniczenia Androida a zasady Google Play
Możliwości techniczne systemu i zasady udostępniania aplikacji w sklepie to dwa różne zagadnienia. Android decyduje o dostępie programu do zasobów urządzenia, natomiast Google Play określa wymagania dotyczące dystrybucji aplikacji. Obecność rejestratora w sklepie nie jest potwierdzeniem, że zapisze on obie strony dowolnej rozmowy na każdym modelu.
Z samego objawu nie da się też wywnioskować, że przyczyną jest konkretna zmiana regulaminu sklepu. Jeśli nie słychać rozmówcy w nagraniu, potrzebna jest próba na określonym urządzeniu i w określonej wersji programu. Przyznawanie kolejnych uprawnień bez wyjaśnienia ich roli nie zastępuje takiej diagnozy. Każde żądanie dodatkowego dostępu oceniaj osobno, również pod kątem danych, które aplikacja będzie mogła odczytywać.
Porównaj głośnik, słuchawki przewodowe i Bluetooth
Akcesoria zmieniają drogę dźwięku. W słuchawkach głos rozmówcy dociera bezpośrednio do uszu, więc mikrofon telefonu może go nie zbierać. W trybie głośnomówiącym głos jest emitowany do pomieszczenia i może zostać ponownie przechwycony przez mikrofon. Lepsza słyszalność drugiej strony po włączeniu głośnika może zatem wskazywać na zapis akustyczny, a nie na bezpośrednie pobieranie dźwięku połączenia.
Przygotuj porównanie w cichym miejscu. Zachowaj ten sam telefon, aplikację, rodzaj połączenia i zbliżoną głośność wypowiedzi. W każdej próbie obie osoby powinny powiedzieć kilka różnych zdań, żeby łatwo rozpoznać, których fragmentów brakuje.
- Bez akcesoriów: odłącz słuchawki i połączenie z zestawem Bluetooth; sprawdź zwykły sposób rozmowy przez telefon.
- Na głośniku: powtórz rozmowę w trybie głośnomówiącym, przy umiarkowanej głośności.
- Ze słuchawkami przewodowymi: wykonaj osobną próbę, jeżeli właśnie tak zwykle rozmawiasz.
- Z zestawem Bluetooth: sprawdź konkretny zestaw, którego używasz, na przykład słuchawki lub wyposażenie samochodu; próbę w samochodzie wykonaj na postoju.
Odsłuchaj wszystkie pliki po zakończeniu połączeń, najlepiej w tych samych warunkach. Zanotuj, czy głos rozmówcy jest nieobecny, cichy, zniekształcony czy urywa się w trakcie. Jeżeli obie strony słychać tylko na głośniku, traktuj to jako ograniczenie tej konfiguracji. Nie zakładaj, że następna ważna rozmowa ze słuchawkami również zostanie zapisana poprawnie.
Co sprawdzić, gdy ustawienia nie pomagają
Najpierw ustal, czy aplikacja telefonu dostarczona przez producenta ma funkcję nagrywania dostępną na Twoim urządzeniu. Jej obecność może zależeć od modelu, kraju i wersji oprogramowania. Jeśli funkcja jest dostępna, sprawdź jej instrukcję oraz wykonaj próbkę obu stron. Brak takiej opcji nie oznacza automatycznie usterki, a instrukcja dla innego telefonu nie potwierdza jej dostępności u Ciebie.
Przy rozmowach internetowych sprawdź dokumentację konkretnego komunikatora pod kątem własnej funkcji zapisu. Nie przenoś wyniku testu zwykłego połączenia telefonicznego na VoIP. Gdy zgłaszasz problem autorowi rejestratora, podaj model, wersje oprogramowania, rodzaj rozmowy, użyte akcesoria oraz wynik prób. Taki opis mówi więcej niż samo stwierdzenie, że nagrywanie rozmów na Androidzie nie działa.
Inną możliwością jest usługa nagrywania związana z centralą telefoniczną lub operatorem, jeśli obejmuje używany sposób prowadzenia połączeń. Ustal, które rozmowy rzeczywiście przechodzą przez tę usługę. Centrala obsługująca numer firmowy nie uzyskuje przez sam ten fakt dostępu do każdej rozmowy wykonywanej przez dowolną kartę SIM w telefonie. Zakres zapisu trzeba sprawdzić dla konkretnej ścieżki połączenia.
Pozostaje także nagrywanie akustyczne: telefon działa na głośniku, a osobne urządzenie rejestruje dźwięk w pomieszczeniu. Ta metoda zależy od odległości, pogłosu, hałasu i poziomu głośności obu osób. Wypowiedzi mogą też usłyszeć osoby znajdujące się w pobliżu. To rozwiązanie wymagające osobnej próby jakości, szczególnie gdy nagranie ma zachować dokładne brzmienie ustaleń.
Za działającą uznaj wyłącznie konfigurację, w której na nagraniu słychać wyraźnie obie strony. Zachowaj krótką notatkę z wersjami programu i systemu oraz użytym zestawem słuchawkowym. Po zmianie któregoś z tych elementów powtórz próbę. Dzięki temu wiesz, co rzeczywiście zostało sprawdzone, a czego nadal nie można zakładać.
Źródła
- Android Developers: MediaRecorder.AudioSource, developer.android.com/reference/android/media/MediaRecorder.AudioSource
- Android Developers: Sharing audio input, developer.android.com/media/platform/sharing-audio-input
- Android Developers: Behavior changes: all apps (Android 9), developer.android.com/about/versions/pie/android-9.0-changes-all
Zdjęcie: Asmoth, CC BY-SA 4.0 (creativecommons.org/licenses/by-sa/4.0/), Wikimedia Commons, commons.wikimedia.org/wiki/File:HTC_One_side_02.JPG