Pull to refresh

Запись разговоров на Android

Reading time 3 min
Views 315K
Я думаю, довольно многим хочется иметь возможность записывать собственные телефонные разговоры на своём смартфоне за 20 тысяч рублей. Задача вроде бы банальная, и вроде бы API Android’а позволяют это делать. Но почему запись не работает почти на всех устройствах без всяких шаманств и танцев с бубном?

Закон


Всё дело в том, что в некоторых странах запись является нелегальной и производители не тратят время на добавление такой возможности. Но как же быть тем, кто живёт в странах, где записывать разговоры не запрещено. Например, в России нет запрета на запись собственных телефонных разговоров, даже не нужно предупреждать собеседника о записи. Только прослушивать записи ваших разговоров имеете право только вы, т.е. если вы дадите прослушать запись третьему лицу, то это будет расцениваться, как нарушение 23-й статьи Конституции РФ.

Телефон


В некоторых устройствах ядро не содержит нужного драйвера, в некоторых устройствах запись отключена в системных библиотеках. Поэтому на этих телефонах запись не работает ни в одной из десятков программ в Market’e. Оно и не удивительно, ибо все они пишут разговоры одним и тем же способом. Но на некоторых телефонах запись работает без всяких танцев с бубном, например, на Samsung Galaxy S II. Но не на каждой прошивке, например, на Android 4 ICS запись уже не работает, видимо, Samsung посчитал, что пользователям она не нужна и убрал её.


Танцы с бубном


Однако, не всё так плохо. Существует способ записывать разговоры с помощью root-прав и специального кастомного ядра, которое содержит необходимый драйвер для записи разговоров. На некоторых устройствах данный драйвер уже содержится в стоковом ядре, поэтому нет надобности устанавливать кастомное ядро. Таким способом, на данный момент, можно добиться записи на устройствах, которые построены на таких чипсетах от Qualcomm, как QSD8250 (HTC Desire, Nexus One, HTC HD2 и др.), QSD8255 (HTC Desire HD, HTC Incredible S, SE Xperia Ray и др.) и QSD8260 (HTC Sensation, Samsung SGH-T989 Galaxy S II, HTC EVO 3D и др.). Так же запись возможна на некоторых старых чипсетах Qualcomm MSM72xx.

Запись через ядро


Первое, что необходимо сделать — это узнать на каком чипсете построен телефон. Затем необходимо найти специальное ядро с поддержкой записи с линии, это можно сделать на xda-developers.com или 4pda.ru. Если вы нашли ядро для вашего телефона, где заявлена поддержка записи (иногда обозначается 2wcr или CallRec), тогда можете приступить к разблокировке загрузчика/получению S-OFF, установке recovery, получению root-прав и прошивке найденного ядра. Если ядро с поддержкой записи вы не нашли для вашего телефона, но чипсет телефона точно должен её поддерживать, то напишите разработчику или разработчикам ядер для вашего телефона, просьбу добавить данный патч в своё ядро или ядра.

Запись через стандартные API Android’a


Если же запись через ядро невозможна на вашем телефоне, то есть шанс, что существуют специальные либы с поддержкой записи. Как правило, это три файла: libaudio.so, libaudioflinger.so и libaudiopolicy.so запакованные в .zip для прошивки через recovery. Также хочу подчеркнуть, что данный патч может работать только на определённых прошивках. Например, на Samsung Galaxy S записи можно добиться только на Android 2.2 Froyo, на других прошивках запись не работает. Как правило эти библиотеки вытащены из китайской прошивки. Как правило запись через Bluetooth-гарнитуру работает плохо.

Софт


Запись через ядро поддерживают несколько программ, одна из них rVoix, бесплатная программа с открытым исходным кодом. Автор этой программы является так же и автором патчей для ядер и благодаря нему запись стала возможной на многих устройствах.

Есть и другая программа с поддержкой записи через ядро — CallRecorder, автором которой я и являюсь.

Если проблема была не в ядре, а в системных библиотеках, то запись должна заработать во всех остальных программах для записи разговоров, коих довольно много в Market’e.
Tags:
Hubs:
+75
Comments 69
Comments Comments 69

Articles