7

我想开发一个应用程序,通过这个应用程序,如果来电者打电话给你,应该自动应答呼叫,而无需用户参与,来电者可以听到预先录制的已录制和保存的声音。音频文件应该在.wav格式。我在谷歌搜索帮助,但我知道这是不可能在Android中,但有一些Android应用程序具有相同的功能。所以我认为有这种可能性。请问,如果问题是错误的。如果有人帮助我,我将不胜感激。我使用eclipse Helios和ADT Plugin。我已经尝试了下面的代码,但没有成功。如果有人知道答案,请帮我解决。我用广播接收器来读取手机状态的变化。在CALL_STATE_OFFHOOK中,我写了下面的代码。如何在语音通话期间发送预录(wav)文件?

case TelephonyManager.CALL_STATE_OFFHOOK: 
Toast.makeText(context, "Call Picked..", Toast.LENGTH_LONG) .show(); 
Log.d("received", "Call Picked...."); 
final MediaPlayer mPlayer = MediaPlayer.create(context, R.raw.music_file); 
        mPlayer.setAudioStreamType(AudioManager.STREAM_VOICE_CALL); 
        mPlayer.prepareAsync(); 
        mPlayer.start(); 
        mPlayer.setOnErrorListener(new OnErrorListener() { 

         @Override 
         public boolean onError(MediaPlayer mp, int what, int extra) { 
// TODO Auto-generated method 
mPlayer.reset(); 
          return true; 
         } 
        }); 
        AudioManager am=(AudioManager)context.getSystemService(Context.AUDIO_SERVICE); 
        am.setMode(AudioManager.MODE_IN_CALL); 
        am.setSpeakerphoneOn(false); 
        am.setMicrophoneMute(true); 
        Log.d("in call","sent audio"); 
        mPlayer.reset(); 
        mPlayer.release(); 
        break; 
+0

没有试图实现,只是做了一点研究。据我所知,这是可能的!想想关于所有蓝牙扬声器和类似的东西一分钟。他们正在通话中传送声音。现在我也需要这个功能。我会试着弄明白。 – 2013-10-31 13:40:56

+0

@YuraSokolov,你发现了什么吗?真的很感激,如果你可以更新我们:) – longwalker 2014-11-25 12:54:48

+0

不,很抱歉@longwalker,我无法找到解决方案。 – 2014-11-26 13:47:15

回答

3

管道音频到一个电话是由Android硬件完全没有支持。

+2

或者更确切地说,不受_software_的支持。有支持呼叫上行链路注入的Android手机使用的硬件平台(相当常见)。但是在Android中没有API(既不是Java API也不是本机API),所以应用程序无法使用它。 – Michael 2013-04-30 11:01:11

+1

我完全同意你MarsAtomic和Michael。但是,Google Play商店中有一些Android应用程序具有相同的功能。如果不可能,那么这些应用程序将如何工作。请帮助我,因为我是Android新手,我必须做同样的项目。提前致谢。 – kishwar 2013-04-30 11:32:58

+0

将您的声音文件的音量最大化,以便麦克风将其拾取。就我所知,这和你所能做的一样多。 – MarsAtomic 2013-04-30 21:17:46

0

DevIndia Infoway的“自动呼叫应答”在Play Store上。它可以在切换免提时播放mp3。所以对方会听到所播放的内容(以及房间里是否有其他噪音)。不是真正的火箭科学。

+0

我们可以对该应用程序进行反向工程吗?任何人都可以请告诉我如何反向工程该应用程序?我想知道实现该功能的代码。 – kishwar 2013-05-10 12:12:37

+0

@kishwar你可以使用免费的** dex2jar **转换器进行逆向工程。 使用** dex2jar **您将获得使用** jd-gui **工具可以进一步转换为java类的jar文件。记住通过使用** dex2jar **如果你想要资源和清单,那么只有java文件可以实现,然后使用** apktool **。 – arvindsingh530 2014-03-30 13:18:53