, Flusso audio telefonata Android tramite WLAN
-
21-09-2019 - |
Domanda
Sto pensando di sviluppare il mio specifica applicazione VoIP per Android.
Ecco lo scenario: quando si verifica una telefonata che voglio sentire la persona che sta chiamando sul mio altoparlanti del pc locale e voglio parlare con lui tramite il mio pc microfono / cuffia. Così ho bisogno di inviare il flusso audio sia io che la persona con cui sto parlando attraverso la rete WLAN.
Qualcosa di simile a questo:
...
onCallStateChanged(int state, String phoneNumber){
while(state == PhoneListener.CALL_STATE_OFFHOOK){ //while phone call is happening
//send incoming speech via wlan to pc
//receive audiostream from pc microphone and direct it to the phone call
}
}
...
Questo è possibile con l'attuale API di Android? (In realtà dovrebbe essere in quanto le applicazioni VoIP sono disponibili sul mercato) Ho fatto qualche ricerca nelle API Android e tutto quello che ho trovato è stato l'AudioManager che ha chiamato costante
public static final int STREAM_VOICE_CALL; //The audio stream for phone calls
Ma io non so come usarlo nostro come dovrebbe darmi accesso ai audiostreams reali che posso inviare via rete. Come faccio a gestire a fare questo?
Il collegamento potrebbe essere realizzato da socket TCP.
Soluzione
Ecco lo scenario: quando una telefonata Si verifica Voglio sentire la persona che è invitando i miei altoparlanti del pc locali e I voglia di parlare con lui tramite il mio pc microfono / cuffia. Così ho bisogno di inviare il flusso audio di entrambi mi e la persona con cui sto parlando attraverso il di rete WLAN.
Qual è il punto di avere Android nel mix? Se si dispone di un PC locale, e si desidera utilizzare il PC locale per l'audio in / out, utilizzare un'applicazione VoIP sul PC locale.
Qualcosa di simile a questo: onCallStateChanged () ...
Questo è per le chiamate vocali utilizzando il sottosistema di telefonia integrata (3G, CDMA, etc.). Questo non ha nulla a che fare con il VOIP.
Questo è possibile con l'attuale API di Android?
Dipende da ciò che "questo" è. Se "questo" è "intercettare la chiamata in arrivo telefono 3G e il segnale audio per la chiamata essere gestita dal codice di Android", allora no, non è possibile.