Android 安卓:来电自动应答,播放音频文件

Android 安卓:来电自动应答,播放音频文件,android,audio-streaming,Android,Audio Streaming,在安卓系统中,在接到来电时,我想接收它。然后,在我的应用程序中,在通话过程中自动播放音频文件,对方应该会听到。这可能吗?你所说的在android上是不可能的。Android无法访问通话中的音频流 虽然我可以给你一些关于如何做的想法 首先要截获传入呼叫,您需要注册一个广播接收器,该接收器在收到呼叫时被调用 public void onReceive(final Context context, Intent intent) { TelephonyManager telephonyMana

在安卓系统中,在接到来电时,我想接收它。然后,在我的应用程序中,在通话过程中自动播放音频文件,对方应该会听到。这可能吗?

你所说的在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>

希望能有帮助。必须尝试此方法并告诉我体验。

尝试使用telephonymanager,它包含您要查找的事件:


  • 您不能直接向呼叫方播放任何内容。如果你想,你可以通过扬声器播放,但这不是你真正想要的。所以“不”,你不能这样做。

    在安卓系统中,没有任何选项可以播放现场通话或将音频源切换到默认麦克风之外的其他设备!这里有一些细节

    但也有一些技巧,

  • 您可以在通话过程中通过手机扬声器播放所需录音!麦克风会从那里拾取吗
  • 或者,您可以将免提扬声器导线与其麦克风导线互连
  • 或者使用其他设备的bluetooh播放所需的录音

  • 好的,我会尽力让你知道的。我只是想知道是否可以直接在电话中播放音频。其他地方似乎表明没有,但这一个只是挂起没有结论。这似乎表明你可以做到这一点。。同样的许可两次?
    case TelephonyManager.CALL_STATE_OFFHOOK:
                    // Play mp3 file here
                    break;