ПРИМЕЧАНИЕ. Я не знаю ни iPhone SDK, ни Objective C, просто интересно, возможно ли это.
Я знаю, очевидно, что в любом случае это должно быть на устройстве с джейлбрейком, но технически возможно создать приложение для записи звонков на iPhone, или невозможно подключиться к звонкам или аудиовходу/выходу?
Я знаю, что, очевидно, не будет «официального» способа сделать это, и уж точно не из приложения App Store. И я знаю, что есть приложения для записи звонков, которые осуществляют исходящие звонки через свои собственные серверы.
Просто интересно, причина, по которой он еще не существует, заключается в том, что его никто не закодировал, или это на самом деле невозможно?
На взломанных iPhone SpoofApp записывает звонки. Я не юрист, но учтите, что запись звонков может быть незаконна в зависимости от того, где вы находитесь и/или где находится другая сторона.
Для рынка Великобритании также существует Call Recorder . Он использует номер с повышенным тарифом для записи звонка, но он также доступен для iPhone без джейлбрейка.
Совсем недавно я обнаружил приложение, которое действительно может делать это правильно, но только для SIP-звонков.
Он называется MobileVOIP и доступен в Apple Store! :D
Поэтому я надеюсь, что это ответит на ваш вопрос. Даже если это не запись телефонного звонка, я считаю, что это показывает, что это теоретически возможно.
Нет простого способа, поскольку эта часть программного и аппаратного обеспечения защищена.
Конечно, это возможно в теоретическом смысле, поскольку приложения для записи голоса и микширования музыки демонстрируют мощь оборудования для обработки сигналов, а программное обеспечение имеет доступ к обоим потокам звука.
Кому-то нужно будет переделать часть или весь код iOS и изменить его. Но то, что просто в концепции, безусловно, сложно и, возможно, слишком дорого, чтобы осуществиться в реальности.
Вы просто берете код, который прослушивает поток данных микрофона в приложении для мобильных телефонов, и выгружаете файл в хранилище, а также кодируете его для голосовых вызовов. Если это приложение вызывает API, а не выполняет эту обработку самостоятельно, вы должны реализовать запись там. Вы должны сделать то же самое для входящих данных и можете либо добавить маркеры времени для последующего микширования, либо смешать их во время обработки вызова.
Этот код, конечно, не используется с документированным API, поэтому вам нужно будет исправить приложение после джейлбрейка или раскрыть недокументированный API, чтобы фактически реализовать эту функцию.
Вариант использования настолько очевиден, что если бы он стоял там, сотни приложений уже делали бы это.
Разработчик iOS Tweak Элиас Лимнеос выпустил в Cydia приложение под названием Audio Recorder (первоначально называвшееся Call Recorder).
Итак, наконец-то появилась возможность записывать звонки локально на устройстве без необходимости звонить по номерам с повышенным тарифом!
Звуковые сигналы можно отключить, но в начале для другой стороны будет принудительно воспроизводиться сообщение «Этот вызов записывается».
В настоящее время он работает только с iPhone 4S (только громкоговоритель) и iPhone 5, а лицензия стоит 3,99 доллара США за устройство.
РЕДАКТИРОВАТЬ. Похоже, я был слишком медленным, так как я купил его на прошлой неделе, он уже снят с производства, хотя существующие покупатели могут продолжать использовать его, дальнейших обновлений не будет.
Я, Элиас Лимнеос. с грустью сообщаю, что я решил прекратить распространение и работу над приложением "Audio Recorder". На сегодняшний день Audio Recorder прекращен.
Источник: http://limneos.net/audiorecorder.html
РЕДАКТИРОВАТЬ. Он снова передумал и доступен для продажи через собственный репозиторий Cydia.
Это определенно возможно и почти наверняка не нужно читать прямо из памяти. Частные API-интерфейсы Apple можно обнаружить с помощью как Xcode, так и некоторых сторонних браузеров класса Objective-C.
Если вам нужен ответ на незаданный вопрос (« Как реализовать устройство записи вызовов на iPhone?»), Тогда я согласен с Джошем К.: зайдите на stackoverflow.com. Или свяжитесь с людьми из Rogue Amoeba , так как они уже решили эту проблему на Mac OS X, которая использует те же самые низкоуровневые библиотеки, что и iOS.
Да, это явно возможно, по крайней мере, путем чтения непосредственно в памяти, даже если хук, вероятно, сделать намного проще.
Джош К.
кремокс
bmike