Подтвердить что ты не робот

Как создать автоответчик для Android

Можно ли написать автоответчик для Android? например, когда происходит событие входящего вызова, это приложение начинает воспроизводить голос.

как я могу это сделать?

4b9b3361

Ответ 1

В настоящее время приложения Android не имеют доступа к потоку аудио в разговоре. Итак, теперь ваше приложение невозможно, извините.

Ответ 2

В конце 2013 года это все еще невозможно. Есть много других ответов (возможно, я напишу резюме часто задаваемых вопросов после завершения этой задачи), но в ближайшее время

  • требуется, чтобы поставщик аппаратного обеспечения телефона реализовал дополнительный "входной штырь" в модемом и выставил его на звуковые уровни Android (ядро → HAL), чтобы принять подготовленные аудиопотоки (например, 8khz wav).

В настоящее время некоторые обработчики Qualcomm поддерживают это.

Почему это так? Мое мнение: чтобы избежать латентности обработки звука, которую будут слышать пользователи, не являющиеся пользователями Android, → , чтобы избежать унижения у пользователей, не являющихся пользователями Android. (Ну, андроид создан для лагов). Другие мнения включают: соображения конфиденциальности, волю производителей телефонов (особенно эти китайцы, которые продают 1000 видов сигналов тревоги на базе GSM, датчики и т.д.), Ленивость и энергосбережение.

Когда вы звоните в Android, произойдет что-то вроде этого:

  • OS → набор микросхем: установите громкость микрофона на 100%, отключите энергосбережение, активируйте компоненты DSP/DAC/ADC.
  • голос → микрофон → процессор базовой полосы GSM: закодированные необработанные данные
  • голос → микрофон → зеркало для аудиорекордера для Android: данные микрофона

(кто-то ожидал, что микрофон → Android → собственный фильтр → маршрут GSM, ха?)

Эта архитектура просто не имеет общего места для отправки данных с Android на GSM-каналы; с обычной точки зрения производителя, это похоже на прямой доступ к радиочипу GSM, позволяющий превратить Android в мягкое радио, работающее в диапазоне 900-2400 МГц. что-то лишнее, незаконное и ненужное для конечного пользователя. Все, что доступно в libmedia, MediaSource и т.д. - не имеет ничего общего с необработанным доступом к восходящей линии.

По неизвестным причинам, у разных поставщиков есть задние двери; Я все еще ничего не нашел с набором микросхем MTK, но поиск по Google для Qualcomm/Android/voice/uplink/alsa/root, похоже, дает хорошее начало здесь:)

P.S. Существует также средство сигнализации DTMF, доступное с небольшим недокументированным использованием API.


Р. Постскриптум Автоответчик - это то, что воспроизводит голос тем, кто назвал число определенных автоответчиков. Это не рекордер и отличается от голосовой почты. Я не понимаю, почему 100% вопросов автоответчика касаются записи или автоматического приема вызова.

Ответ 3

AirVoice может это сделать. Требуется root-доступ и работает только на некоторых телефонах.

Может кто-нибудь объяснить, почему так сложно?

vrecorder приложение может записать звуковой поток во время вызова и AutoAnswer может автоматически отвечать на входящий вызов, не требуя укоренения телефона.

Решение (если оно работает) не является надежным, поскольку телефон может быть выключен или плохой или отсутствует прием сигнала.

Серьезным пользователям было бы лучше использовать выделенные провайдеры VoiceMail (VM), такие как http://freephoneline.ca или http://www.youmail.com. Чтобы использовать эти услуги, вы приобретаете у них виртуальный номер телефона (с подписным планом) и настраиваете свою перевозчика для переадресации неотвеченных входящих телефонных звонков на номер виртуального телефона. Затем они забирали телефонный звонок, играли приветствие по вашему выбору, транслировали голос в текст (если есть) и отправляли сообщение в специальное приложение на вашем телефоне.