5

XP で問題なく動作するアプリケーションを Windows 7 でも正しく動作するようにしようとしています (これは私が書いたものではありません - 友人を助けています)。

XP ではオーディオを再生できましたが、Windows 7 では再生できません - 何も聞こえません。オーディオに関する Windows 7 のすべての設定の検索とチェックを使い果たしました (検索と読み取りに何時間も費やしました)。

アプリケーションの実行中はいつでも、Windows 7 ボリューム ミキサーにエントリがありません。

他のいくつかのアプリケーションで遊んでみると、アプリケーションが実際にサウンドを作成するまでミキサーに追加されないように見えることがわかりましたが、プログラムの開始直後とその前にミキサーに追加されるプログラムが少なくとも 1 つ見つかりました。サウンドを再生しました。

アプリケーションがそれ自体を Windows 7 ボリューム ミキサーに「登録」して、まだサウンドを生成していなくても、そのエントリがミキサーに表示されるようにする API はありますか?

4

2 に答える 2

3

オーディオ セッションが作成されると、アプリ スライダーがミキサーに追加されます。オーディオ セッションが作成される原因は 2 つあります。1 つ目は、アプリによって作成されたオーディオ ストリームが「開始」状態に移行するときです。もう 1 つのケースは、アプリケーションが IAudioSessionControl インターフェイスを使用してオーディオ ボリュームを操作する場合です。

于 2011-01-24T20:59:23.893 に答える
3

このブログ投稿によると、オーディオ サブシステムはオーディオを再生する PID を追跡し、ボリューム ミキサーはこのリストにアクセスできます。SndVol に表示される名前は IAudioSessionControl で変更できるので、それだけで「登録」できるのかもしれません。

于 2011-01-23T14:32:49.200 に答える