返信先: WASAPIの排他モードでのOSによる音量調整について

フォーラム TuneBrowser WASAPIの排他モードでのOSによる音量調整について 返信先: WASAPIの排他モードでのOSによる音量調整について

#13047
Tiki
キーマスター

こんにちは。

うーん、排他モードが「カーネルをパス」しているはずというのは、ちょっと簡単には理解が難しいです。わたしはドライバはカーネル上にあると理解していました。

カーネルと言われているのは、 (オーディオ界隈では悪名の高い) カーネル・ミキサーのことでしょうか。ちがっていたらすみません。

この機能は、わたしの理解では現在はオーディオ・エンジンに含まれており、このオーディオ・エンジンはたしかに排他モードではバイパスされます。以下の図などを参照してみてください。

念のため、ですが、この説明にもあるように、オーディオ・エンジンはカーネル・モードではなくユーザー・モードで動作します。

で、排他モード/共有モードでこのオーディオ・エンジンをバイパスする/しないという話と、ボリューム制御ができる/できないという話は微妙にべつの話になると思っています。ボリューム制御をデバイスで行っている場合は、排他モード/共有モードに関係なくボリューム制御ができますし、デバイスではなくオーディオ・エンジンで行っている場合は、(排他モードではバイパスされますので) ボリューム制御はできなくなるものと思われます。

関係して、上図にも記載のあるEndpointVolume API内のIAudioEndpointVolumeインターフェイスには以下のような説明があります。

ここには、

デバイスにハードウェア ボリュームとミュート コントロールがある場合、 IAudioEndpointVolume インターフェイスを介してデバイスのボリュームとミュート設定に加えられた変更は、共有モードと排他モードの両方のボリューム レベルに影響します。

とあります。

以上のことから、前提とされている「WASAPIの排他モードでは音量調整できない」は失礼ながら正確ではなく、「WASAPIの排他モードでは音量調整できないことがある」というのが正しいのではないかなと思います。