2

音楽のセグメント(前奏曲、リピートパート、エンディングパート)とこれらのセグメントの時間情報(オフセット、スコアの長さ)を保存する「フォーマット」を作成したので、まるで1つのようにリアルタイムでミックスできます。繰り返される部分を(オプションで)無期限に繰り返しながら、音楽の一部。このようにして、前のセグメントが終了している間に、セグメントは次のセグメントが再生される場所に減衰を保存できます。(Javaでこのためのプレーヤーを作成し、Clipクラスを使用しました。)

ゲーム内で無限の長さの音楽を再生しながら、(ジュークボックス機能用に)有限の長さの音楽を提供できるように、この形式が必要でした。

しかし、この「フォーマット」を管理するクラスをXNAでコーディングしたいと思ったとき、「曲」を同時に/オーバーラップして再生する明確な方法がないことに気づきました。XNAフレームワークを離れずに、これを行うにはどうすればよいですか/ベストプラクティスは何ですか?(無限のプレイリストを作成したくありません。)

4

1 に答える 1

2

おそらくXACTを調べたいと思うでしょう。XNA のコピーと共にインストールされているはずです。XACT は、ゲーム内のオーディオのロジックを設定できる試聴ソフトウェアです。基本的に XNA とシームレスに統合されます。XACT のいくつかの高度な機能を調べると、必要なことを実行できるようになる可能性があると思います。これは非常に強力ですが、習得には時間がかかります。

XACT の外では、もっと苦労するでしょう。バニラ C#/XNA コードでそれを行う方法は考えられません。ただし、XACT はこの欠点を補うように設計されているため、使用する必要があります。

XACT の将来については、私はそれが死んでいる/死んでいると信じています (将来的にはサポートされない可能性があります)。少なくともDirectXのバージョンは. しかし、私が言ったように、このレベルの制御で XNA でオーディオを管理するのに匹敵する方法が実際に見つかっていないため、彼らがそのアイデアを完全に放棄するとは思いません。

于 2012-04-16T20:13:34.053 に答える