0

QuickTime SDK の最新バージョンを使用しており、特定のオーディオ デバイスを使用している場合、「ムービー」(ムービーとして参照されますが、mp3、m4a、mov、およびその他のファイル タイプである可能性があります) のオーディオを再生したいと考えています。複数のオーディオ デバイス。

Apple のサンプルの 1 つに、これを可能にする関数がいくつかありますが、それらは C++ です。C# 相互運用機能アセンブリのどこにも関数が見つかりません。それらはSetMovieAudioContextQTAudioContextCreateForAudioDeviceです。

C++ でこれらの関数を呼び出すためのサンプル ドキュメントは、テクニカル FAQ: How can I render QuickTime Movie audio to an specific Audio Device once I have a Audio Device ID? にリストされています。.

オーディオ デバイス GUID を使用してこれを行うサンプル .NET 2003 C++ プログラムを次に示します

C# でこれらを参照し、Movie オブジェクトをそれらに渡して、オーディオ デバイス コンテキストを設定するにはどうすればよいでしょうか? 私が呼び出す C++ dll を作成する必要がありますか (それは可能でしょうか)?

SDK が必要な場合は、 https: //connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID= 19910 から Quicktime 7.3 SDK をダウンロードできます。ダウンロードするには、無料の ADC アカウントが必要です。

どんな助けでも大歓迎です。

ありがとうございました、

ジョン

4

1 に答える 1

1

C#でネイティブコードをラップすることは、多くの場合、長くて骨の折れるプロセスです(Windows APIを実行している場合を除き、グーグルで通常P / Invoke署名を提供できる場合)。問題のAPIで使用されるすべての関数と構造体に対して、ヒットしてマネージドP / Invokeラッパーを作成する必要があります。または、C ++ / CLIVisual C ++ Express Editionで無料で利用可能)を使用できます。C ++ / CLIを使用すると、ネイティブコードを直接呼び出すことができ、C#コードで使用できる簡略化されたマネージインターフェイスを提供できます。

于 2009-07-03T08:31:04.747 に答える