【发布时间】:2012-04-04 07:30:39
【问题描述】:
之前有人问过这个问题(How to play an audio file on a voice call in android、play an audio file on a voice call 等),但我还是会问:是否可以在正在进行的语音通话中播放音频文件。我知道简短的回答是“不”,但我还没有弄清楚为什么这是不可能的。
我知道 SDK 不支持它,但是是否有可能以某种方式编写您自己的代码来处理这个问题,也许在 C/C++ 代码的帮助下(使用 NDK)?有谁知道如何解决这个问题?还是严格的回答“不,您不能将预先录制的音频播放到语音通话中”?
我并不关心该解决方案是否不适用于所有设备,只要我能找到一些支持该解决方案的设备,如果需要,我可以考虑获取 root 访问权限。
【问题讨论】:
-
使用 root 访问权限 + NDK 这绝对是可能的......但我建议不要走那条路......
-
好的,感谢您的评论。在我放弃之前,我会稍微研究一下这个问题。现在我正在查看 OpenSLES API 以及是否可以通过某种方式更改 OutputMix/OutputDevice。
-
@user675862 你找到解决办法了吗?
-
@Yahia ,您知道实施此解决方案的任何其他替代方案
-
我还没有找到通用的解决方案,但我注意到在 Nexus S 和 Galaxy Nexus 上是可以做到的。只需使用 SDK 中的 AudioTrack 并使用 STREAM_VOICE_CALL 作为 streamType。这种方法不适用于我测试过的其他手机(HTC Desire 和一些 SE 手机)
标签: android android-ndk