各 GSM コールでネゴシエートされる音声音声コーデックを取得するために、Android ソース コードを変更しようとしています。
最初に、AudioPolicyManager などのソース ファイルや、Linux カーネルのその他の soc ファイルについて調べました。これらのファイルに追加のログを書き込むときに得られるのは、スピーカーとマイクが常に同じ周波数に設定されていることです (スピーカーの場合、最大値は 48000Hz だと思います)。音声がそれほど頻繁に送信されないことは確かです。テレフォニー コアは、音声をチャネルにプッシュする前に、音声圧縮方式をネゴシエートします。また、ドキュメントのない独自のコマンドがいくつかある場合でも、AT コマンドを使用して取得しようとしましたが、成功しませんでした。
最後に、RIL ラジオ ログ (logcat -b radio) を簡単に確認したところ、次の行が見つかりました。
私/RILQ (331): (0/331): RIL[0][イベント] qcril_qmi_voice_send_unsol_voice_speech_codec_info_htc: android_call_id = 1、コーデック = 7
これにより、GSM 通話を設定する前に、どの音声コーデックがネゴシエートされるかを確認できると思いますが、このソース コードは公開されていません。*.so コンパイル済みライブラリです (./vendor/htc/m8/proprietary/blobs/gsm/vendor/lib/libril-qc-qmi-1.so)
また、どの音声コーデックが 7 に対応するかを取得するために逆アセンブル (objdump) しましたが、そのアセンブリを探すのに時間を無駄にすると思います。
だから私の質問は次のとおりです。どの音声コードがその整数値に対応しているかを知るために、無料のオープンソース libril.c があるかどうか知っている人はいますか? 現在、私のテレフォニー オペレーターは、3G 通話で AMR-WB をサポートしていると述べています。コーデック 7 が AMR-WB に対応しているソース ファイルを見つけた場合、私のテレフォニー オペレーターが正しいとほぼ確信できます。
注: HD-Voice over 4G を探しているわけではありません。確認方法は既に知っています。
前もって感謝します