4

DirectShowフィルターを使用してマイクとステレオミックスの両方をキャプチャするコードを作成しようとしています。まず、WindowsSDKのGraphEditを使用してフィルターを設定しようとしています。キャプチャデバイスをマイクとステレオミックスに設定し、両方のキャプチャピンをAVI Muxの入力01と入力02に接続してから、AVI出力ピンをファイルライターの入力ピンに接続します。グラフを実行すると、

このグラフは再生できません。不特定のエラー(戻りコード:0x80004005)

このエラーをかなり検索しましたが、答えが見つからないようです。

それらをそれぞれ個別にWAVDestフィルターに接続しようとすると、同じエラーが発生します。どういうわけか理解できませんが、両方をキャプチャすることはできません。StereoMixは、マイクからキャプチャするときにマイクをエミュレートしていますか?

それらから一度に1つずつキャプチャしようとすると機能しますが、両方から同時にキャプチャする必要があります。マイクをスピーカーに出力するように設定すると、両方を録音できますが、ユーザーがスピーカーで自分の声を聞くことができるため、あまり役に立ちません。

また、WASAPIを使用してループバックを記録しようとして成功しましたが、WASAPIを使用してループバックを記録すると、VistaまたはWindows 7でのみ機能するため、下位互換性が必要です。

私は調べましたが、プログラムをこれまで以上に複雑にする余裕はありませんPortAudioFFmpeg私は何をすべきか?

4

1 に答える 1

0

私はさらにいくつかの調査を行いました。どうやらこれは本当に厄介な状況です。DirectShowフィルターに関する答えが見つかりませんでした。

一部のコンピューターには、StereoMixをサポートするサウンドカードがありません。Windows XPでも機能する唯一の解決策は、Windows DDKを使用して仮想オーディオドライバーを作成し、それをデフォルトデバイスとして設定し、バッファーを実際のオーディオデバイス(オーディオ出力を妨げないようにするため)とアプリケーションに渡すことです。

同時に、DirectShowフィルターを使用してマイクからオーディオをキャプチャすることができます。

オーディオドライバに関するMicrosoftのドキュメントは次のとおりです。http://msdn.microsoft.com/en-us/library/windows/hardware/ff537871%28v=vs.85%29.aspx

私はこれらの問題にあまり精通していません。これが同じ状況の人に役立つことを願っています。他に何か提案があれば教えてください。

于 2013-01-17T09:57:28.980 に答える