【问题标题】:Play pre-recorded audio into a voice call将预先录制的音频播放到语音通话中
【发布时间】:2012-04-04 07:30:39
【问题描述】:

之前有人问过这个问题(How to play an audio file on a voice call in androidplay 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


【解决方案1】:

在我的一加(测试设备)上进行语音通话期间,我使用 Audiotrack 播放流设置为 STREAM_VOICE_CALL 的音频,它运行良好,但是我说话的音频听得很清楚,播放的音乐听不到。可能是因为应用了降噪功能。我为此使用了基于 Lollipop 的 Rom。所以答案是肯定的,我们可以玩。

【讨论】:

  • 问题是关于在语音通话期间播放音乐以便在远端(即通话对方)听到的问题,而不是只有您可以听到的本地播放。我使用过的大多数设备都支持后一种情况。
  • “问题是关于在语音通话期间播放音乐以便在远端听到”在发起方播放音乐并在接收方收听对吗? @迈克尔
  • 太好了,你能分享一些我正在尝试创建一个必须插入音频流的模块的代码..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-23
相关资源
最近更新 更多