3

私には問題があります (そして、しばらく前から問題がありました)。Vista の新しいサウンド ミキサー スタックは、新しい優れた機能を備えていますが、車輪の再発明も行っています。Windows システムでボリューム ミキサーを使用してさまざまな有声出力を 1 つの入力にミックスしていた多くのアプリケーション (たとえば、Wave-out + Line-in --> Stereo Mix) は動作しなくなりました。この動作の代表的な例は、Shoutcast DSP プラグインです (ソリューションのテストに役立つ可能性があります)。

プログラム (SC DSP) がマイクロフォン/ラインインの再生ボリュームと Wave-out の再生ボリュームを適切に管理できるように、XP ミキサー コントロールを再度有効にするか、何らかの方法でこの動作をエミュレートするにはどうすればよいですか?

私の考えでは、Wave-Out と Line-out 用に Vista ミキサーに接続されたプログラムをエミュレートすることです (または、マイク スピーカーの音量 -- すべての再生。Vista ミキサーが参照できるように、個別の調整可能な「プログラム」として表示されます)。プログラムの古いボリュームミキサーコントロールインターフェイスとしてそれ自体を表すエミュレーションの下でシステムに「フック」しますが、率直に言って、それを行う方法がわかりません。

明確にするために、これは私の PC ではありません (HP Pavilion ラップトップです)。この問題は主に、Vista ミキサーが個別の入力/出力ではなく、個別のプログラムを制御するために発生しているようです。このハードウェアは、Windows XP を使用する際に必要なことを十分に実行できます。これがドライバの問題であることは十分承知していますが、ドライバは、Vista がインターフェイスを介してプログラマに提示するものに合わせて準備されているだけです。ミキサー デバイスは、オペレーティング システムに表示されますが、ソフトウェアに表示される場合もありますが、Windows オーディオ コントロール用のミキサー API に基づいています。

問題の詳細 (および影響を受けるユーザーの数) については、Vista で Google を使用して検索し、ライン入力の再生ボリューム コントロールを使用してください。もちろん、Shoutcast Source DSP プラグインを WinAMP 用に書き直せば問題は解決しますが、そうはいきそうにありません...

4

4 に答える 4

4

オーディオEndPoint APIを使用すると、Windows Vista ミキサーでサウンドカードの個々の入力/出力レベルの音量レベルを制御できます。

これにより、メインの音量と、接続されているオーディオ入力の音量を調整できるようになります。これに関する 1 つの問題は、エンド ポイントを列挙するときに、サウンドカードにマイクが接続されていない場合、何も列挙されないことです。これは、「マイクが接続された」イベントに応答するようにアプリケーションを変更し、ユーザーに適切に通知する必要があることを意味します。

もう 1 つのオプションは、Microsoft Core Audio の下に潜り、 WaveRTドライバーに直接アクセスすることです。これは、WASAPI/Endpoint API を使用するよりもはるかに手間がかかりますが、サウンドカードの入力/出力へのアクセスを最大限に制御できます。

于 2008-09-26T14:08:31.593 に答える
3

オーディオ ドライバーは、使用可能なミキサー コントロールを制御します。これは、ハードウェアの機能に大きく依存します。

Vista ドライバーに特定のコントロールがない場合は、Vista ではなくそのドライバーの欠点である可能性があります。

(使用しているサウンドカード/デバイスを教えてください。)

独自のミキサー コントロールを作成するプログラムを作成することは可能ですが (これは、仮想サウンド カード用のソフトウェアのみのドライバーになります)、このプログラムはデバイス内のオーディオ ルーティングに影響を与えることができません。このためのミキサー制御はありません。

于 2008-09-16T11:31:17.597 に答える
2

アプリをWindowsXP互換で実行中としてマークすると、古いコントロールと動作がすべて元に戻ります。

于 2009-07-26T22:45:25.520 に答える
1

アプリを Windows XP 互換として実行するとマークすると、すべての古いコントロールと動作が元に戻ります。

これは事実ですが、SP2 に含まれている Vista SP1 パッチ KB957388 の時点で、一部のサウンドカード ドライバーを使用すると、アプリが XP 互換モードのときに、古いミキサー API (winmm.dll) 関数がハングすることがあります。特に、mixerGetNumDevs とまれに mixerOpen が一部のコンピューターで返されないことがあります。

合計約 200 人の Vista ユーザーのうち 5 人の Vista ユーザーから、起動時にアプリがハングするという報告を受けており、これらの機能がハングするまで突き止めました。

これを Microsoft に報告したいのですが、報告できる場所が見つかりません。

今できることは、互換モードを有効にせずにソフトウェアをリリースすることだけですが、これによりアプリの機能が失われ、ソフトウェアがライン入力またはマイク ミキサーを制御できなくなります。

低レベルの API 関数を直接操作する時間がありません。私は高レベルのコンポーネントに依存していますが、開発システム (Delphi) 用の新しいオーディオ API を見つけることができません。

私のために DLL を書いてくれる人にお金を払うことに興味があります!!! メール ross att stationplaylist dot com

于 2009-08-19T01:44:41.290 に答える