首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓RIL speech_codec_info

安卓RIL speech_codec_info
EN

Stack Overflow用户
提问于 2015-09-15 09:25:05
回答 2查看 806关注 0票数 1

我试图修改android的源代码,以获得语音语音编解码器,这是协商在每个GSM呼叫。

一开始,我深入到了一些源文件,如AudioPolicyManager和其他一些Linux内核的soc文件。当你将额外的日志写入这些文件时,扬声器和麦克风总是被设置为相同的频率(我猜,在我的情况下,最大频率是48,000赫兹)。我很确定语音不是以这样的频率传输的,电话核心在将语音压缩方法推入信道之前先协商一种语音压缩方法。我还试图通过AT命令撤回它,但没有成功,即使有一些没有doc的丙型命令。

最后,我简要地查看了RIL无线电日志(logcat -b收音机),并找到了这一行:

I/RILQ ( 331):(0/331):RIL qcril_qmi_voice_send_unsol_voice_speech_codec_info_htc: android_call_id = 1,编解码器=7

我认为这将使我确定在建立GSM呼叫之前,哪个语音编解码器是协商的,但是这个源代码是不开放的。它是一个(./vendor/htc/m8/proprietary/blobs/gsm/vendor/lib/libril-qc-qmi-1.so)的*.so编译库。

我也已经分解(objdump),为了得到哪个语音编解码器对应于7,但我想我会浪费我的时间去寻找那个程序集。

因此,我的问题是:是否有人知道是否有任何免费的开源库c,以便让我知道哪些语音代码与该整数值相对应?此时,我的电话运营商表示,他们在3g通话中支持AMR。如果我找到了一些源文件,其中编解码器7与AMR相对应,我几乎可以肯定我的电话操作员是对的。

注:我不是在寻找高清-声音4G,我已经知道如何检查它。

提前感谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-30 06:14:10

代码语言:javascript
复制
    CODEC_QCELP13K = 0x0001
    CODEC_EVRC = 0x0002
    CODEC_EVRC_B = 0x0003
    CODEC_EVRC_WB = 0x0004
    CODEC_EVRC_NW = 0x0005
    CODEC_AMR_NB = 0x0006
    CODEC_AMR_WB = 0x0007
    CODEC_GSM_EFR = 0x0008
    CODEC_GSM_FR = 0x0009
    CODEC_GSM_HR = 0x000A
    CODEC_G711U = 0x000B
    CODEC_G723 = 0x000C
    CODEC_G711A = 0x000D
    CODEC_G722 = 0x000E
    CODEC_G711AB = 0x000F
    CODEC_G729 = 0x0010
    CODEC_EVS_NB = 0x0011
    CODEC_EVS_WB = 0x0012
    CODEC_EVS_SWB = 0x0013
    CODEC_EVS_FB = 0x0014

正如Chus Mu oz提到的,7代表AMR宽带。

票数 1
EN

Stack Overflow用户

发布于 2015-11-06 15:48:02

可能与之有关的人。

我强烈确认voice_codec=7是3G上的AMR_WB编解码器。我买了一个塞拉无线,以便通过AT命令获得编解码器,它确实证实了这一点。此解决方案适用于所有msm8974系列。

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

https://stackoverflow.com/questions/32582407

复制
相关文章

相似问题

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