Androidがハッキングされました

ALSA (Advanced Linux Sound Architecture) アーキテクチャは大きすぎるため、組み込みデバイスには多くの機能が使用されず、消費電力が増加するため、Android では合理化された tinyalsa が使用されます。ALSA は、カーネル ドライバー層で alsa-driver を提供し、アプリケーション層で alsa-lib を提供します。アプリケーションは、alsa-lib が提供する API を呼び出すだけで、基盤となるハードウェアでの操作を完了できます。Android は tinyalsa を使用して、すべてのモードでオーディオ チャネルを制御および管理し、tinyalsa が提供するツールを使用して表示およびデバッグすることもできます。tinyalsa関連の基盤となるデバッグツールとしては、tinypcminfo、tinymix、tinyplay、tinycapがよく使われますので、以下にその使用方法を紹介します。

関連概念:


サンプル: オーディオ データの最も基本的な単位であるサンプル長。通常は 8 ビットと 16 ビットです。
チャンネル: モノラルとステレオに分けられるチャンネルの数。
フレーム: 完全なサウンドユニットを構成するフレーム、フレーム = サンプル * チャネル。
レート: サンプル レートとも呼ばれる、フレームのサンプリング レート、つまり 1 秒あたりのサンプル数。
Interleaved: インターリーブ モード、オーディオ データの記録方法。インターリーブ モードでは、データは連続したフレームの形式で保存されます。つまり、フレーム 1 の左チャンネル サンプルと右チャンネル サンプルが最初に記録されます (ステレオであると仮定します)。 )、フレーム 2 のレコードを開始します。ノンインターレースモードでは、周期内のすべてのフレームの左チャンネルのサンプルが最初に記録され、次に右チャンネルのサンプルが記録され、データは連続したチャンネルの形式で保存されます。ほとんどの場合、インターリーブ モードを使用します。
周期サイズ: 周期、各ハードウェア割り込みによって処理されるオーディオ データのフレーム数、およびオーディオ デバイスのデータの読み書きの単位です。
バッファ サイズ: データ バッファのサイズ。ここでは具体的には、snd_pcm_hardware によって定義されるbuffer_bytes_max ではなく、ランタイムのバッファ サイズを指します。一般に、バッファ サイズ = period_size * period_count、period_count は、バッファ データの処理に必要なハードウェア割り込みの数に相当します。

tinymix
tinymix はシステムのオーディオコントロールを表示することができ、tinymix を直接実行してそれらを表示することができます。
hello_world:/ # tinymix -D 0                                                           
ミキサー名: 'AML-TVAUDIO'
コントロールの数: 5
ctl type num name value
 
0 INT 2 PGA IN Gain 9 9
1 INT 2 ADC Digital Capture Volume 80 80
2 INT 1 AMP Master Volume 175
3 INT 1 AMP Ch1 ボリューム 255
4 INT 1 AMP Ch2 ボリューム              

おすすめ

転載: blog.csdn.net/u010664697/article/details/131127668