0

オーディオファイルの再生に取り組んでおり、ファイルの2つの並列再生を計画しているため、オーディオファイルの再生には「SoundEffect」を選択しました。

Microsoft.Xna.Framework.Audio.SoundEffect

        SoundEffect back;
        back = ContentManager.Load<SoundEffect>("/Sounds/Background/bkm.mp3")

そのLoadオブジェクトを取得していません。

このエラーが発生する->

非静的フィールド、メソッド、またはプロパティ'Microsoft.Xna.Framework.Content.ContentManager.Load(string)'にはオブジェクト参照が必要です

ありがとう

4

3 に答える 3

0

コンテンツの読み込みは、メインのGameクラスのLoadContent()メソッド内で行う必要があります。そこに2行目を入れて、実行してみてください。

また、ファイルへのパスにエラーが含まれています。次のいずれかになります。

"\\Sounds\\Background\\bkm"

またはこのように:

@"\Sounds\Background\bkm"

\コンテンツマネージャのパスにファイル拡張子を含めず、円記号を使用してください。

File not foundまた、例外に遭遇した場合は、最初にこのチェックを実行することをお勧めします。

if (System.IO.File.Exists("\\Sounds\\Background\\bkm.mp3"))
{
    // if you can step into this, it means the file exists
}
于 2013-01-26T16:53:59.447 に答える
0

多分これを試してみてください:

SoundEffect back;
var Cm= new ContentManager();
back = Cm.Load<SoundEffect>(@"/Sounds/Background/bkm.mp3")
于 2013-01-26T17:02:50.170 に答える
0

非静的フィールド、メソッド、またはプロパティ'Microsoft.Xna.Framework.Content.ContentManager.Load(string)'にはオブジェクト参照が必要です

したがって、インスタンスを作成します。

var contentManager = new ContentManager();
var back = contentManager.Load<SoundEffect>("/Sounds/Background/bkm.mp3");
于 2013-01-26T17:10:32.560 に答える