1

XNAゲームでバックグラウンドミュージックを使用しようとしていますが、XNAのすべてのオプションで、オーディオファイルを.wavに変換し、プロジェクトリソースとして含める必要があります。これは2つの理由で私にはうまくいきません。まず、.wavファイルは膨大であり、ユーザーにとって実際のメリットはありません。第二に、ユーザーが自分の音楽を好む場合、ユーザーは代わりのmp3のフォルダーを持つことができません。実際にはプロジェクトの一部ではないmp3を再生するための私のオプションは何ですか?

4

1 に答える 1

5

多くの検索を行った後、私はついにAppHubフォーラムでこのスレッドを見つけました。これは私に解決策を与えてくれました。

を使用Song.FromUriして曲をロードしてから、を使用してその曲MediaPlayer.Play(song)を再生できます。

Uri songPath = new Uri("Songs/song.mp3", UriKind.Relative);
Song song = Song.FromUri("song", songPath);
MediaPlayer.Play(song);

あなたの質問では、MediaPlayerを使用したくないと(明らかに)言いましたが、その理由は、最初に曲を変換する必要があり、プロジェクトリソースに含める必要があるためと思われます。これにより、曲は「Songs」ディレクトリ(実行可能ファイルと同じディレクトリにあります)にのみ存在する必要があります。

クラスを使用するSoundEffectこともできません。なぜならTitleContainer.OpenStream、私が試したときに文句を言うのが好きだったを使用する必要があるからです。

于 2012-03-22T04:29:38.183 に答える