2011-01-18 19 views
12

è possibile scrivere una segreteria telefonica per Android? ad esempio quando si verifica un evento di chiamata in entrata, questa applicazione inizia a riprodurre la voce.come creare la segreteria telefonica per android

come posso fare questo?

+0

Inoltre, è in corso una discussione sullo stesso argomento su android stackexchange. http://android.stackexchange.com/questions/19191/answering-machine-on-android potrebbe essere di interesse per alcuni uno –

risposta

6

Le applicazioni Android non hanno accesso allo streaming audio durante la chiamata in questo momento. Quindi, al momento, la tua domanda non è possibile, mi dispiace.

0

AirVoice può farlo. Richiede l'accesso root e funziona solo su determinati telefoni.

Qualcuno può spiegare perché è così difficile?

L'applicazione vrecorderpuò registrare il flusso audio in chiamata e AutoAnswerpuò rispondere automaticamente chiamata in arrivo, senza la necessità di sradicare il telefono.

La soluzione (se funziona) non è affidabile in quanto il telefono potrebbe essere spento o avere cattiva ricezione o ricezione del segnale.

Gli utenti seri farebbero meglio a utilizzare provider dedicati VoiceMail (VM), come ad esempio http://freephoneline.ca o http://www.youmail.com. Per utilizzare questi servizi, è necessario acquistare un numero di telefono virtuale (con un piano di abbonamento) e configurare il proprio operatore per inoltrare le chiamate in entrata senza risposta al numero di telefono virtuale. Avrebbero quindi risposto alla telefonata, riprodotto il saluto di tua scelta, fatto la trascrizione voice-to-text (se disponibile) e inviato il messaggio a un'app dedicata sul telefono.

+3

Per chiunque cerchi di riprodurre audio in uplink di chiamata telefonica: tutti i software elencati qui sono registratori vocali, non segreteria telefonica. Nessun buon esempio Fornisce solo registratori, per non parlare e reindirizzamento/inoltro basato. Vai avanti –

5

Alla fine del 2013, non è ancora possibile. Ci sono molte altre risposte (forse scriverò un FAQ somma-up dopo aver terminato questo compito), ma poco,

  • E 'necessario per il fornitore di hardware del telefono per implementare ulteriore "pin di ingresso" nel modem e esporlo ai livelli audio di Android (kernel -> HAL) per accettare flussi audio preparati (come 8khz wav).

Attualmente alcuni process di Qualcomm lo supportano.

Perché è fatto così? La mia opinione: evitare che la latenza dell'elaborazione audio venga ascoltata da utenti non Android -> per evitare l'umiliazione da parte di utenti non Android. (Bene, Android è creato per i ritardi). Altre opinioni includono: motivi di privacy, volontà dei produttori di telefoni (in particolare questi cinesi, che vendono 1000 tipi di allarme, sensori, ecc. GSM), pigrizia e risparmio energetico.

Quando sei in chiamata su Android, qualcosa di simile accade:

  1. OS -> chipset: impostare il volume del microfono al 100%, disabilitare il risparmio energetico, attivare i componenti DSP/DAC/ADC.
  2. voce -> microfono - processore> in banda GSM: codificati i dati grezzi
  3. voce -> microfono -> specchio di fonte mediarecorder audio di Android: dati mic

(microfono atteso qualcuno -> Android -> proprio filtro -> percorso GSM, ha?)

Questa architettura non ha semplicemente un luogo definito comune per l'invio di dati da canali Android a GSM; da un punto di vista del produttore ordinario, questo è come fornire un accesso diretto al chip radio GSM per abilitare l'attivazione di Android in soft-radio funzionanti nella gamma 900-2400 MHZ .. ad es. qualcosa di esoterico, illegale e non necessario per l'utente finale. Tutto ciò che è disponibile in libmedia, MediaSource ecc. Non ha nulla in comune con l'accesso uplink raw.

Per ragioni sconosciute, ci sono back-door disponibili da diversi fornitori; Non ho ancora trovato nulla con il chipset MTK, ma googling per Qualcomm/Android/voice/uplink/alsa/root sembra dare un buon inizio qui :)

P.S. C'è anche una funzione di segnalazione DTMF, disponibile con un piccolo utilizzo dell'API non documentato.


P.P. La segreteria telefonica è qualcosa che riproduce la voce di qualcuno che ha chiamato il numero di quella determinata segreteria telefonica. Non è un registratore ed è diverso dalla segreteria telefonica. Non capisco perché il 100% delle domande della segreteria telefonica riguardi la registrazione o l'accettazione automatica della chiamata.

Problemi correlati