android - 如何检测Android手机是否完全支持通话录音功能?

标签 android audio-recording phone-call

我已经实现了带有 VOICE_CALL 功能的通话记录器功能: http://developer.android.com/reference/android/media/MediaRecorder.AudioSource.html#VOICE_CALL

它可以非常清晰地记录来电和去电的声音。

但它只能在某些手机上完美运行,例如 Asus padfone 或 hTC ONE (m7)。

某些品牌,例如 hTC m8、Sony Z1 或 Samsung S3,它们只会在有人给我打电话时录制我的声音。但是他们不能记录来电的声音。

我的问题:

  1. 有没有什么程序可以检测手机是否能正确录制来电语音?

  2. 为什么同一个品牌的手机会有不同的结果?例如,有些 hTC m8 可以完美录制,但有些 hTC m8 只能录制一侧。

在此先感谢您的帮助:)

最佳答案

如您所见,Android建议开发者使用MediaRecorder或AudioRecord来录音,这些是标准的API,Android本身支持通话录音。

一些制造商故意禁用通话录音功能,例如:

  • Galaxy Note3 Android 4.3 可以很好地记录通话。
  • Galaxy Note3 Android 4.4 在芬兰、中国等国家可以很好地记录通话,在其他国家只能记录噪音。
  • LG G2 D800 Android 4.3 无法录制来电。
  • LG G2 D800 Android 4.4 运行良好。

制造商为什么要这样做?由于移动运营商要求,受本地法律等限制。

有没有什么程序可以检测这个手机是否可以正确记录来电的声音?很遗憾,没有。

如何解决录音问题?使用标准 API 很难解决问题。通常你需要root手机,然后一些录音器应用程序(例如“Boldbeast Call Recorder”,“Call Recorder”等)可以更改音频相关设置来修复它。 Boldbeast Call Recorder还使用特殊的录音参数来解决许多没有root的手机的问题。

关于android - 如何检测Android手机是否完全支持通话录音功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24793188/

相关文章:

android - 如何使向上按钮返回而不是打开抽屉导航

java - 返回字 "null"的字符串引用

iphone - 如何检测 AVAudioRecorder 中的静音?

iphone - 如何在 iphone 中录制音频时创建波形图的动画 View ?

ios - 通过 iphone xcode 中的应用程序处理来电

ios - 允许 iOS 应用程序用户通过 Twilio 号码、Parse 后端相互调用电话和发短信

java - 切换此标记后预期的标签

android - 如何在 Android 中为其他 ImageView 后面的 ImageView 设置动画

用于录制音频的 Android AudioRecord 与 MediaRecorder