2016-11-18 4 views
0

新しいプロジェクトのランチャーの中で、いくつかのバックグラウンドミュージックを再生したいと思います。しかし、私はエラーが発生します。私はコメント、PlayLooping does not take any argumentsで述べたように、エラーリソースから音楽を再生するC#

方法はありませんオーバーロード 'PlayLoopingが' 1つの引数

+1

基本的には、1つまたは任意の引数で 'PlayLooping'を呼び出すことはできません。ドキュメント[ここ](https://msdn.microsoft.com/en-us/library/tbx06asw(v = vs.110).aspx)を見ると、 'PlayLooping'は引数を取らないことがわかります。たぶん[this](http://stackoverflow.com/questions/4125698/how-to-play-wav-audio-file-from-resources)答えはあなたを助けます。 –

+0

次に、自分の音楽ファイルをどのようにプレイループに割り当てるか。 –

+0

あなたのリソースは、オーディオファイルまたはオーディオファイル自体へのパスですか? –

答えて

1

を取り得るいくつかの理由

private void playlooping() 
{ 
    SoundPlayer.PlayLooping(system.Resources.Bgm); 
} 

//Bgm is the name of the song. 

。だからあなたはどこか他の場所で演奏したい音を指定する必要があります。これは、いずれかで行う。このようなSoundPlayer -Constructorを経由して、それを設定することで、されています

だから、
// via string path 
var soundPlayer = new SoundPlayer(@"C:\somePath\someFile.wav"); 

// via stream 
var soundPlayer = new SoundPlayer(musicStream); 

あなたのリソースは、あなたが一緒に行くために良いことがあります文字列の場合:

var soundPlayer = new SoundPlayer(system.Resources.Bgm); 

代替文字列を設定することですSite経由でSoundPlayerをインスタンス化した後-pathまたはストリーム - またはあなたのSoundPlayerオブジェクトのStream -Properties:

var soundPlayer = new SoundPlayer(); 

// via path 
soundPlayer.Site = @"C:\path\test.wav"; 

// via stream 
soundPlayer.Stream = someStream; 

これを設定した後、あなたは良い呼び出しでなければなりませんPlayLooping。だからあなたの最終的なコードは、(単に私のデバッグフォルダに入れてサウンドファイルを、アプリケーションを構成する検査窓に私のために動作します)このように見てする必要があります。

var soundPlayer = new SoundPlayer("test.wav"); 
soundPlayer.PlayLooping(); 

あなたがここにSoundPlayerの完全なドキュメントを見つけることができます。https://msdn.microsoft.com/en-us/library/system.media.soundplayer(v=vs.110).aspx

+0

いいえ、私はSoundPlayer.PlayLooping(system.Resources.Bgm)を置き換えます。 var soundPlayer = new SoundPlayer(system.Resources.Bgm);を使用します。ライン。良いことは、エラーがなくなっているということです。悪いことはです。 –

+0

あなたはまだ 'soundPlayer.PlayLooping()'を呼び出してください。 –

+0

"soundplayerにはPLayloopingの定義が含まれていません"? –

関連する問題