2012-10-17 93 views

回答

10

你說的是不完全可能與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> 
    <uses-permission android:name="android.permission.PROCESS_OUTGOING_CALLS"/> 
    <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; 

希望它有幫助。必須嘗試一下並告訴我經驗。

+0

OK肯定我會盡量讓你知道。 –

+1

這有什麼好運? – CasualT

+0

@CasualT你想要什麼。? –

3

你不能直接播放任何東西給調用者。如果你想要通過揚聲器播放,但那不是你想要的。所以「不」,你不能那樣做。

0

在android中,沒有任何選項可以用於實時通話或將音頻源切換到默認話筒以外的其他設備!這裏有細節why you can't play recordings during a live call

但也有一些技巧,

  1. 您可以從手機揚聲器播放所需的記錄,在通話過程中!麥克風會從那裏選擇它?
  2. 或者你可以互連免提揚聲器線到它的麥克風線
  3. 或者使用藍牙技術從其它設備上播放所需的記錄