2

XNA は、ライン入力からのオーディオ入力の手段を提供しますか? MSDNAの Web サイトを見ましたが、音声入力に関する情報が見つかりません。可能であれば、コードのスニペットまたはチュートリアル Web サイトが最適です。

編集:オーディオラインからバッファリングされた読み取りを行う必要があります。実装にはあまり興味がありませんが、レイテンシが低い場合はそうです。

PC専用ゲームへの展開も予定。

4

3 に答える 3

3

XNA で使用する前に、すべてのサウンド ファイルを XACT でコンパイルする必要があると思います。

したがって、DirectSound を入手して、\Samples\Managed\DirectSound\CaptureSound にあるサンプルを確認してください。

...または、winmm.dll と相互運用することもできます。この男は、それを行う方法の小さな例を作成しました: http://www.codeproject.com/KB/audio-video/cswavrec.aspx

そして、この男は、すべての録音デバイスの列挙についてさらに書いています: http://www.codeproject.com/KB/cs/Enum_Recording_Devices.aspx

それが役に立てば幸い!

編集:

オーディオ ストリームで何をしたいのかわからないので、このチュートリアルも興味深いかもしれません: http://nyxtom.vox.com/library/post/recording-audio-in-c.html

編集2:彼が言ったこと(コメントで)

        |
        |
        V
于 2009-02-11T06:25:24.460 に答える
2

Windowsのみのプロジェクトを検討している場合は、XNAフレームワークの外部からコードを受け取ったオーディオをキャプチャして、同じもので再生することができます。XNAコンテンツマネージャーの動作により、コンテンツマネージャーはコンパイル時にすべてを.xnbファイルに変換し、そこから読み取るため、通常の再生方法を使用することはできません。ただし、標準のWindowsAPI呼び出しを使用してプレイすることを妨げるものは何もありません。その時点では実際にはXNAプロジェクトはありませんが、他のプラットフォームとの互換性を求めていないため、区別がそれほど重要であるとは思いません。

于 2009-02-12T07:47:21.163 に答える
2

あなたの質問に答えると、いいえ、XNA API を介してオーディオ ラインインにアクセスすることはできません。そのような機能にアクセスできるPort Audioなどの他のライブラリを調べる必要があります。ただし、Windows での実行に制限されます (つまり、xbox や zune は使用できません)。

免責事項:Google経由ですぐに見つけたので、ポートオーディオにこの機能があるかどうかはわかりません. 他の API を使用する必要があることを説明しようとしただけです。

于 2009-02-11T20:54:59.470 に答える