問題タブ [tinyalsa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - AndroidでマイクとPCMのゲインを変更するにはどうすればよいですか
独自の aec を Android に統合することに成功しました。
しかし、私が必要とするのは、マイクのゲインとアンドロイドの pcm を設定する必要があることです。これは、AEC で agc をファーエンドとニアエンドの信号に適用し、エコー キャンセレーションのためにその agc の出力を進めるためです。
その後、AEC の出力にノイズ リダクションを適用します。
aecをgstreamerに統合すると、次のようなコマンドがあります
アルサミキサー
ゲインレベルを設定します。
いくつかのゲイン レベルを設定すると、AEC は正常に機能します。
しかし、Androidでは、これを設定してaecをうまく機能させるにはどうすればよいですか。
linux-kernel - pcm サンプルを ALSA に送信する必要があるのはなぜですか?
ハードウェア デコーダーが存在しない場合、pcm サンプルを alsa に送信する必要があることは理解していますが、それは単にハードウェアの制限によるものですか、それとも ALSA からの要件もありますか?
android - Android Java コードで tinyalsa を使用する
tinyalsa-ndkのソースを使用して tinyalsa lib を構築し、それを JNI 呼び出しでラップしました。コードで使用しようとしています。
Swigを使用して Java ラッパーを生成しました (そして、パッケージに準拠するように出力を変更しました)。ネイティブ メソッドの宣言は次のとおりです。
私の JNI ラッパー呼び出しは、ルート パッケージの下のラッパー クラス TinyAlsa.java 内にあります (この例では、com.Example.App を使用します)。
私のラッパーCメソッドは次のとおりです。
tinalsa ライブラリは例外なく正常にロードされますが、 などの呼び出しmixer_open(0)
は null ポインタを返します。
ただし、コンパイルされた tinymix ミキサーを実行すると、開いているミキサー コントロールが表示されます。
何か不足していますか?コードからどのように機能させることができますか?
audio - tinymix を使用して 40 バイトのデータをミキサー コントロールに設定する方法は?
私はと呼ばれるコントロールを持っていますEQ2 Coefficients
tinymix コマンドの出力は次のようになります。
そのミキサー コントロールを別の値に設定するにはどうすればよいですか。たとえば、コントロールに書き込まれる値は00000fb3040001341E4FF1A5040B06831B64F448040A10F413DDFA1D040A280D02A104A840000000
tinymix コマンドを使用していますか?
android - Android AudioRecord の設定が録音されたオーディオと一致しません
Android 4.4.2 デバイスでステレオ オーディオを録音しようとしています。ただし、単純な録音アプリ (AudioRecord を使用) を介して録音されているオーディオは、提供された構成と一致しません。デバイスがデフォルトの設定値を使用している場合、logcat でエラー メッセージが表示されることを期待していますが、指定された値が AudioHardware と AudioPolicyManagerBase によって受け入れられているように見えることがわかります。
現在の構成:
Media.Recorder.AudioSource の変更は、この問題を解決するためのオプションとして取り上げられました。しかし、これは Android スタックの動作を変更していません。構成が無効な場合に (当然のことながら) レコーダーの読み込みに失敗することを除きます。
SampleRate を変更しても、出力に目に見える変化がないことも示されています。44.1kHz と 16kHz の両方が有効なオプションですが、調べるとどちらも 16kHz のオーディオを生成します。出力オーディオも、ステレオにアップミックスされたオーディオの 1 つのチャネルのように見えます。
TinyALSA/Tinycap を使用してオーディオをキャプチャでき、これは期待どおりに動作するようです。
これは Android スタック内の問題でしょうか? それとも、OEM から提供されたコードに問題がある可能性が高いですか?