1

各 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 を探しているわけではありません。確認方法は既に知っています。

前もって感謝します

4

2 に答える 2

0

ご担当者様。

voice_codec=7 が 3G 上の AMR_WB コーデックであることを強く確認します。ATコマンド経由でコーデックを取得するためにsierraワイヤレスを購入しましたが、これは本当に確認できました。このソリューションは、すべての msm8974 シリーズに適用されます

于 2015-11-06T15:48:02.657 に答える