Realtek ALC888で挿入/削除されたイベントヘッドフォンジャックの検出方法は?Realtek ALC888を使用したイベントヘッドフォンジャック(Windows XP)
SDKまたはlibはありますか?
グローバル質問:Windows XPでこの同じイベントを検出する方法は? グローバルな答え:存在しない普遍的な解決策。しかし、Realtekのオーディオは知っています。どうやって?
Realtek ALC888で挿入/削除されたイベントヘッドフォンジャックの検出方法は?Realtek ALC888を使用したイベントヘッドフォンジャック(Windows XP)
SDKまたはlibはありますか?
グローバル質問:Windows XPでこの同じイベントを検出する方法は? グローバルな答え:存在しない普遍的な解決策。しかし、Realtekのオーディオは知っています。どうやって?
Windows XPではヘッドフォンジャックが接続されていない限り、0を返す必要があり、従来の機能
waveInGetNumDevs(void)
があります。とにかく正確な動作は、実際のハードウェアのドライバに依存します。また、http://msdn.microsoft.com/en-us/library/ms713732%28VS.85%29.aspx
サウンドカードがありますが、これは動作しませんが、何かがヘッドホンジャックに差し込まれたときに起動するユーティリティが付属している場合(つまり、ヘッドフォン/マイク用の共有ジャックデバイスを挿入すると、接続したデバイスの種類がわかります) - 何かが接続されていれば何らかの形で報告されている、自分自身の「検出アプリケーション」を書くことよりも (ソケット、パイプ、共有メモリ)あなたの主なアプリケーション。通常、ドライバのインストールディレクトリにexeファイルがあります。このように何かが自動的にプラグインされた場合に起動する '検出アプリケーション'で置き換えることができます。
これらの2つの「解決策」(または2番目の解決策の回避策)の他に、デバイスがヘッドフォンジャックに差し込まれているかどうかをWindows XPが検出する方法はありません。しかし、Windows Vista以降では、これらのイベントの新しいインターフェイスがIKsJackDescriptionと呼ばれています。
また、WM_DEVICECHANGが発生する可能性があります。