私はC#でアプリケーションを開発しており、DirectShow.NETライブラリを使用して複数のオーディオトラックを含む.AVIファイルをレンダリングしています。
複数のオーディオトラックを切り替えるにはどうすればよいですか?フィルタグラフを手動で作成するのではなく、RenderFileを使用して作成しています。
私はC#でアプリケーションを開発しており、DirectShow.NETライブラリを使用して複数のオーディオトラックを含む.AVIファイルをレンダリングしています。
複数のオーディオトラックを切り替えるにはどうすればよいですか?フィルタグラフを手動で作成するのではなく、RenderFileを使用して作成しています。
オーディオトラック間の切り替えがサポートされている場合、パイプラインのフィルターの1つ(逆多重化フィルター)がIAMStreamSelect
インターフェイスを公開し、それを使用してトラックを切り替えることができます。
インターフェイスは
IAMStreamSelect
、パーサーフィルターで使用可能なストリームから選択します。たとえば、ファイルには、英語、ドイツ語、フランス語などの複数の言語でエンコードされたオーディオストリームが含まれている場合があります。アプリケーションはこのインターフェースを使用して、再生する言語を選択できます。
メソッドを使用ICaptureGraphBuilder2::FindInterface
して、フィルターグラフでインターフェイスをすばやく見つけることができます。