最近、オーディオ プレーヤーがおかしくなり、移動中に再生中にオーディオ トラックがランダムに切り替わるようになりました。簡単に調べたところ、ヘッドホン ジャックが問題の原因であることがわかりました。何らかの未知の電気的な問題により、プレーヤーは、前述の電気プロトコルを使用して、ヘッドセットに存在しない再生/一時停止ボタンからファントム信号を受信していると考えているようです。ここ。
ハードウェア レベルでこの不具合を修正する方法については良いアイデアはありませんが、ソフトウェアを使用してこの問題を解決する方法は思いつきました。プレーヤーのサウンド カード設定を通じてヘッドセット コントロールを完全にオフにしてみてください。私のヘッドフォンにはそのようなボタンはなく、今後も使用するつもりはありません。
プレーヤーは Cayin N3 で、AK4490 サウンド チップがバンドルされています。プレーヤーはカスタム Linux ベースのファームウェアを使用し、サウンド サブシステムは ALSA です。プレーヤーのメイン ユーザー空間 GUI アプリケーションは、libasound
ゲートウェイ ライブラリを介して ALSA サブシステムと直接通信するようです。
プレーヤーのサウンド カードを設定するasound.conf
か、類似の方法でヘッドセット コントロールを完全にオフにして、ユーザー空間アプリがファントム電気信号によって誘発されるコールバックを受信しないようにします。
これを実装するアイデアはありますか?ALSAの専門家ではないので、どこから始めればいいのかわかりません。私が見つけた唯一のことはALSA がジャックコントロールをユーザー空間にマッピングする方法しかし、これがどのように役立つのか全く分かりません。