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.

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top