私はXNAを初めて使用し、ユーザーがロードしたオーディオファイルを編集できるようにしようとしています。XNAでは、時間枠(0:00〜0:10など)を選択して「切り抜く」ことができますか?別のエンティティとしての部分?基本的には、そのデータを新しいファイルにコピーするだけだと思います。これはXNAオーディオライブラリを使用して実行できますか?その場合、どのメソッドを検討する必要がありますか?ありがとうございました
3 に答える
あなたが言っていることを行う方法がわかりませんが、探している過程で、この役立つオーディオの概要と、 Microsoftのクロスプラットフォームオーディオ作成ツール(XACT)の使用に関するこのチュートリアルに出くわしました。あなたはXNAを初めて使用するので、これらのリンクが役立つことを願っています。
問題は、必要に応じて、オーディオがゲーム内ではなく事前に作成されることを期待しているようです。もちろん、ゲーム外での編集を支援するAudacity、Aviary、waveosaur、AdobeSoundBoothなどの外部オーディオエディターも不足していません。または、XNA / XACTライブラリの再生機能を使用して、ユーザーの時間枠の選択を変数として保存し、後でオーディオの対応する部分のみを再生することで、トリミングを「シミュレート」できる場合があります。
その一部がある程度役立つことを願っています。
-gMale
私の知る限り、XNAには、単に音楽やキューオブジェクトをファイルに書き込む手段は含まれていません。
ユーザーがXNAゲーム内のオーディオを編集して、引き続き使用可能なオーディオファイルとして保存するようにするには、正しいファイル形式を見つけて直接書き込む必要があります。ただし、ゲーム内で使用するためにオーディオを操作するだけの場合は、別のオプションがあると思います。
オブジェクトをシリアル化できます(ゲーム間で状態を保存するため)。オーディオの操作(開始時間や終了時間など)を表す値を保存し、キューと一緒にシリアル化できます。オーディオキューのシリアル化を試したことがないことを認めなければなりませんが、データをXNAコンテンツパイプラインにプッシュして、実行時にXNBファイルを作成するように強制することもできます。
XNA 4 を待つことができれば、サウンド バッファーへの低レベル アクセスがあり、必要に応じてトリミングできます。「C# wav ファイル」を Google 検索すると、メモリ内のデータを操作する方法を示すリンクが多数見つかります。
ここから XNA 4.0 ベータ版をダウンロードします。
http://creators.xna.com/en-US/launchcenter
新しい API の使用方法を説明するリンクは次のとおりです。
https://blogs.msdn.com/b/ashtat/archive/2010/06/03/soundeffect-creation-in-xna-game-studio-4.aspx