Androidで着信時に受信したいのですが。次に、私のアプリから、通話中に音声ファイルを自動的に再生し、相手はそれを聞く必要があります。これは可能ですか?
あなたが話していることは、Androidでは正確には不可能です。 Androidは通話中のオーディオストリームにアクセスできません。
私はあなたにそれを行う方法について少し考えを与えることができますが。
最初に着信コールを傍受するには、ブロードキャストレシーバーを登録する必要があります。ブロードキャストレシーバーは、コールが受信されるたびに呼び出されます
public void onReceive(final Context context, Intent intent)
{
TelephonyManager telephonyManager = null;
PhoneStateListener listener = new PhoneStateListener()
{
public void onCallStateChanged(int state, String incomingNumber)
{
switch (state)
{
case TelephonyManager.CALL_STATE_IDLE:
Toast.makeText(context, "Call Ended..", Toast.LENGTH_LONG).show();
Log.i("stop", "Call Ended....");
break;
case TelephonyManager.CALL_STATE_OFFHOOK:
Toast.makeText(context, "Call Picked..", Toast.LENGTH_LONG) .show();
Log.i("received", "Call Picked....");
break;
case TelephonyManager.CALL_STATE_RINGING:
Toast.makeText(context, "Call Ringing.." + incomingNumber,5000).show();
break;
}
}
};
// Register the listener with the telephony manager
telephonyManager.listen(listener, PhoneStateListener.LISTEN_CALL_STATE);
マニフェストも変更します
<uses-permission Android:name="Android.permission.PROCESS_OUTGOING_CALLS" />
<uses-permission Android:name="Android.permission.READ_PHONE_STATE"></uses-permission>
<application
Android:icon="@drawable/ic_launcher"
Android:label="@string/app_name" >
<receiver Android:name="MyReceiver">
<intent-filter>
<action Android:name="Android.intent.action.NEW_OUTGOING_CALL" />
</intent-filter>
</receiver>
</application>
これにより、着信コールをインターセプトしてコールを選択できます。これで、mp3ファイルを
case TelephonyManager.CALL_STATE_OFFHOOK:
// Play mp3 file here
break;
それが役に立てば幸い。これを試して、経験を教えてください。
発信者に対して直接何かを再生することはできません。スピーカーを介して演奏したい場合でも、それは実際に望んでいることではありません。だから「いいえ」、それはできません。
Telephonymanagerを使用してみてください。探しているイベントが含まれています。
Androidでは、ライブコールに対して再生したり、オーディオソースをデフォルトのマイク以外のものに切り替えたりするオプションはありません!以下に詳細を示します ライブ中に録音を再生できない理由呼び出し
しかし、いくつかのトリックがあります、