15

I'm trying to make and app like Call Cheater(Originally developed for Symbian OS)

Is it possible to play a music during a phone conversation where receiver and caller should hear the same sound or music?

If yes how can I implement this?

4

7 回答 7

13

您找不到执行此操作的应用程序,因为这是不可能的

该文档明确指出(此处):

注意:您只能将音频数据播放到标准输出设备。目前,即是移动设备扬声器或蓝牙耳机。您不能在通话过程中播放对话音频中的声音文件。

这个决定背后的原因可能与安全性有关:有几种情况可以将此功能用于缺点。

(OP与this高度相似,因此我基本上给出了相同的答案)

于 2015-01-15T17:44:06.347 回答
3

两个答案,都是有效的,取决于你喜欢多么草率:

1) 不,目前无法将音频注入电话对话。

2)是的,这是可能的。这也是一个丑陋,丑陋的杂物。打开手机的免提功能。创建一个媒体播放器,设置媒体源,将音量设置为 1.0f(最高)并调用player.start(). 如果电话上的麦克风和扬声器质量合理,通话对方会听到音乐。他或她还将继续听到您所说的任何内容,以及您附近的环境和其他声音。

于 2013-05-19T10:06:26.393 回答
2

不,这是不可能的。但是,如果您想深入了解,则可以访问将 Android 手机用作 VoIP 的 GSM 网关,作者得出的结论是

目前的形式无法将 Android 用作 GSM 网关。即使在刷新自定义 ROM 之后,因为它们也依赖于专有的 RIL(无线电接口层)固件。可以消除障碍 1 和 2(API 限制),因为开源社区可以使用源代码以使其成为可能。但是,障碍 3(专有 RIL)取决于硬件供应商。硬件供应商通常不会提供他们的设备驱动程序代码。

于 2015-01-20T07:30:47.197 回答
2

我认为这在一种情况下是可能的

1. android 设备中的一些本地音乐播放器在处理这个问题时,他们在 TelephonyManager.EXTRA_STATE_OFFHOOK (OFFHOOK STATE) 中限制音乐,因此无法使用本地播放器和其他播放器(如“poweramp”)播放背景音乐音乐播放器"

2.通过使用 MediaPlayer 类也是不可能的(在文档中明确提到)

3.只有在一种情况下,如果您开发的自定义音乐播放器(不使用 MediaPlayer 类)实现

AudioManager.OnAudioFocusChangeListener 通过使用这个你可以在下面的代码“focusChange = AUDIOFOCUS_LOSS_TRANSIENT”中获取音频管理器的状态(当音乐在后台播放时,这个状态会调用任何来电)这个状态完全在开发人员手中是播放还是暂停音乐。根据您的要求,您询问是否要在通话处于摘机状态时播放音乐,不要在摘机状态下暂停播放音乐。这只有在耳机被禁用时才有可能

AudioManager am = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
     
    OnAudioFocusChangeListener afChangeListener = new OnAudioFocusChangeListener() {
        public void onAudioFocusChange(int focusChange) {
            if (focusChange == AUDIOFOCUS_LOSS_TRANSIENT
                // Pause playback (during incoming call) 
            } else if (focusChange == AudioManager.AUDIOFOCUS_GAIN) {
                // Resume playback (incoming call ends)
            } else if (focusChange == AudioManager.AUDIOFOCUS_LOSS) {
                am.unregisterMediaButtonEventReceiver(RemoteControlReceiver);
                am.abandonAudioFocus(afChangeListener);
                // Stop playback (when any other app playing music  in that situation current app stop the audio)
            }
        }
    };
于 2015-01-17T13:38:06.430 回答
0
Note: You can play back the audio data only to the standard output device.
Currently, that is the mobile device speaker or a Bluetooth headset. You 
cannot play sound files in the conversation audio during a call.

See official link 

http://developer.android.com/guide/topics/media/mediaplayer.html

于 2015-01-19T09:59:38.380 回答
0

我认为这是不可能的。虽然我从谷歌游戏中找到了一个名为PHONE MUSIC的应用程序,它声称:“因此,每当有人让你暂停时,只需点击悬停的音符并开始播放音乐。或者在有人与你通话时播放音乐。”

于 2015-01-20T08:53:28.177 回答
0

是的,在 Sony ericssion xylophone w20 中是可能的。我在 2010 年拿到了这款手机。但是我还没有见过这种类型的手机。

于 2016-01-21T15:15:02.133 回答