首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么android无法在语音呼叫中播放音频文件

为什么android无法在语音呼叫中播放音频文件
EN

Stack Overflow用户
提问于 2014-12-22 19:48:04
回答 3查看 10K关注 0票数 27

这个问题可能是以下问题的重复:

How to play an audio file on a voice call in android

Background Audio for a Call in Progress - Possible?

这些问题的答案表明,在android中无法在语音呼叫中播放预先录制的音频。我想知道为什么不可能?限制是什么(硬件/软件)?这真的是一种限制还是有意为之?我们可以修改android的源代码以使其成为可能吗?

EN

回答 3

Stack Overflow用户

发布于 2015-01-16 17:59:25

由于Android中音频路由的优先级,这是与软件相关的。在CallManager中,您可以深入研究setAudioMode()方法。将音频模式设置为MODE_IN_COMMUNICATION后,将调用以下代码

代码语言:javascript
复制
audioManager.requestAudioFocusForCall(AudioManager.STREAM_VOICE_CALL,
                        AudioManager.AUDIOFOCUS_GAIN_TRANSIENT);

从这一点上讲,电话服务具有最高优先级,不会让任何其他音频并行播放。

票数 5
EN

Stack Overflow用户

发布于 2015-01-16 14:42:24

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

请参阅官方链接http://developer.android.com/guide/topics/media/mediaplayer.html

票数 0
EN

Stack Overflow用户

发布于 2015-01-17 15:33:23

通过实现AudioManager.OnAudioFocusChangeListener,您可以获得音频管理器的状态。因此,如果在后台播放任何音乐,您可以获得类似的AudioManager状态(播放和暂停完全掌握在开发人员手中)......

在android设备中的一些原生音乐播放器在处理这个问题时,他们会限制音乐在TelephonyManager.EXTRA_STATE_OFFHOOK.so中。这个场景也完全掌握在开发人员手中(无论是否处理),如果他不处理这两个都将并行播放y。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27602114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档