5

私はAndroid用の特定のVoIPアプリを開発することを計画しています。

シナリオは次のとおりです。電話がかかってきたときに、ローカルのPCスピーカーで電話をかけている人の声を聞きたいのですが、自分のPCマイク/ヘッドセットを介してその人と話したいのです。そのため、私と話している相手の両方のオーディオストリームをWLANネットワーク経由で送信する必要があります。

このようなもの:

...
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
 }
}
...

これは現在のAndroidAPIで可能ですか?(実際には、VoIPアプリが市場で入手可能であるためです)Android APIで調査を行ったところ、定数名が付いたAudioManagerだけが見つかりました。

public static final int  STREAM_VOICE_CALL; //The audio stream for phone calls 

しかし、それをどのように使用すれば、ネットワーク経由で送信できる実際のオーディオストリームにアクセスできるのかわかりません。どうすればこれを行うことができますか?

接続はTCPソケットによって実現されます。

4

1 に答える 1

2

シナリオは次のとおりです。電話がかかってきたときに、ローカルのPCスピーカーで電話をかけている人の声を聞きたいのですが、自分のPCマイク/ヘッドセットを介してその人と話したいのです。そのため、私と話している相手の両方のオーディオストリームをWLANネットワーク経由で送信する必要があります。

Androidを組み合わせる意味は何ですか?ローカルPCがあり、オーディオの入出力にローカルPCを使用する場合は、ローカルPCでVOIPアプリを使用します。

このようなもの:onCallStateChanged()..。

これは、組み込みのテレフォニーサブシステム(3G、CDMAなど)を使用した音声通話用です。これはVOIPとは何の関係もありません。

これは現在のAndroidAPIで可能ですか?

それは「これ」が何であるかに依存します。「これ」が「着信3G通話を傍受し、通話の音声をAndroidコードで処理する」場合、いいえ、できません。

于 2010-03-22T13:44:01.913 に答える