【问题标题】:How can I send a pre-recorded(wav) file during a voice call?如何在语音通话期间发送预先录制的 (wav) 文件?
【发布时间】:2013-04-30 10:40:08
【问题描述】:

我想开发一个应用程序,如果来电者呼叫您,呼叫应自动接听,无需用户参与,来电者可以听到预先录制的语音,该语音已被录制并保存。音频文件应该在 . wav 格式。我在 google 中搜索了帮助,但我开始知道这在 Android 中是不可能的,但是有一些 android 应用程序具有相同的功能。所以我认为这有一些可能性。如果问题是错误的,请见谅.如果有人帮助我,我将不胜感激。我正在使用带有 ADT 插件的 eclipse Helios。我已经尝试了下面的代码,但没有成功。如果有人知道答案,请帮助我。我使用广播接收器读取手机状态变化。在 CALL_STATE_OFFHOOK 中,我编写了以下代码。

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; 

【问题讨论】:

  • 尚未尝试实现该功能 - 只是做一些研究。据我所知,这是可能的!想一想所有的蓝牙扬声器和类似的东西。他们正在将声音传输到通话中的电话。现在我也需要这个功能。我会努力弄清楚的。
  • @YuraSokolov,你找到什么了吗?如果您能就此向我们提供最新信息,将不胜感激:)
  • 不,抱歉@longwalker,我找不到解决方案。
  • @Kishwar 你找到解决方案了吗?

标签: android media-player telephonymanager android-audiomanager


【解决方案1】:

Android 硬件完全不支持将音频传输到电话中。

【讨论】:

  • 或者说,不受软件支持。 Android 手机使用支持呼叫上行链路注入的硬件平台(相当常见的平台)。但在 Android 中没有 API(既不是 Java API 也不是本机 API),因此应用程序无法使用它。
  • 我完全同意 MarsAtomic 和 Michael 的观点。但是 Google Play 商店中有一些 android 应用程序具有相同的功能。如果不可能,该应用程序将如何工作。请帮助我,因为我是 android 新手,我必须做同样的项目。提前致谢。
  • 将声音文件的音量调到最大,以便麦克风拾取。据我所知,你能做到的就这么多了。
【解决方案2】:

DevIndia Infoway 的“自动呼叫应答”在 Playstore 上。它的工作原理是在打开免提装置的同时播放 mp3。所以对方会听到播放的内容(以及房间里是否有其他噪音)。不是真正的火箭科学。

【讨论】:

  • 我们可以对该应用程序进行逆向工程吗?谁能告诉我如何对该应用程序进行逆向工程?我想知道实现该功能的代码。
  • @kishwar 您可以使用免费提供的 dex2jar 转换器进行逆向工程。使用 dex2jar 你会得到可以使用 jd-gui 工具进一步转换成 java 类的 jar 文件。请记住,使用 dex2jar 只能实现 java 文件,如果您想要资源和清单,也可以使用 apktool
猜你喜欢
  • 1970-01-01
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 2014-05-04
相关资源
最近更新 更多