NAudioライブラリを使用して、C# でコンピューターの入力ボリューム (つまり、システム ボリューム/出力ボリュームではなく、コンピューターのミキサーのボリューム) を監視します。
inputVolume = device.AudioMeterInformation.MasterPeakValue;
現在、入力音量は、オーディオを再生するソフトウェア/メディア プレーヤー (Windows Media Player、WMP ブラウザー プラグイン、またはその他のソフトウェア (VLC、Winamp、Quciktime など)) にも依存します。
私の問題は、オーディオを再生するソフトウェアを介してユーザーがいつ入力ボリュームを変更したかを知る必要があることです。たとえば、ユーザーがソフトウェアの音量レベルを上げると、入力音量が上がりますが、ストリーム自体が「大きい」ためなのか、再生するソフトウェアでユーザーが音量レベルを上げたためなのかはわかりませんオーディオ。
ユーザーがコンピュータ システムのボリュームを上げただけでは、何の影響もありません。これは出力ボリュームであり、私は気にしません。
オーディオは、ユーザーのコンピューター上のファイルからではなく、インターネット経由のライブ ストリームからのものです (ブラウザーだけでなく、コンピューターにインストールされているオーディオ アプリケーションでも再生できます)。
オーディオを再生するソフトウェアで音量レベルを取得することは可能ですか? 通常は Windows Media Player ブラウザ プラグインですが、別のソフトウェアの場合もあります。
不可能な場合、回避策はありますか?