Visual Studio 2010で新しいproyectを作成しました。これはWindowsフォームのもので、.NET Framework 4 Client Profileを使用しています。WindowsフォームとC#を使用して埋め込み音楽ファイルをパスにコピーする方法
私はWAVサウンドファイルを埋め込みました。
唯一のことは、それをいくつかのパスにコピーすることです。例としてデスクトップとしましょう。どうすればこれを達成できますか?私はすでにこれらを試してみた
:
How to copy file From Resources?
Read a file from a resource and write it to disk in C#
Write file from assembly resource stream to disk
をしかし、私はいつもトラブルに直面しています。例:
Takeover Control.wavという名前のオーディオリソースを追加すると、名前はTake_Over_Control
で追加されます。それから私は、 "コピー"と言うメインフォームにボタンを追加するだけです。すると、そのボタンのクリックイベントがこれを持っている:
private void ButtonCopyClick(object sender, EventArgs e)
{
Stream resource = Assembly.GetExecutingAssembly().GetManifestResourceStream("Take_Over_Control");
if (resource == null)
{
throw new ArgumentException();
}
Stream output = File.OpenWrite(Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory)+"\\Sound.wav");
resource.CopyTo(output);
}
事は、私がなどTake_Over_Control
かResources.Take_Over_Control
またはProperties.Resources.Take_Over_Control
を置けば、GetManifestResourceStream
部分で、私はいつもthrow new ArgumentException();
にこだわっていない物質と...ですだから、resource
はnull
であり、それはStream resource = Assembly.GetExecutingAssembly().GetManifestResourceStream("Take_Over_Control");
行に正しく設定されていません。
私が試した他の方法には問題があります。ここで何が間違っていますか?この埋め込みオーディオファイルを正しい方法でコピーする方法
にあなたのリソースを返すために、権限受領者にその代わりにこのコードを使用することができます私...私は自分の質問に答えることができないことに気付かなかった!答えへの途中で! – mishamosher
ああ、これを持っている:おっと!あなたの回答は以下の理由で投稿できませんでした: •評判が100未満のユーザーは、質問後8時間は自分の質問に答えられません。あなたは4時間で自己回答することができます。それまでは、コメントを使用するか、代わりに質問を編集してください。 – mishamosher
私はこれらの答えをここに追加するために8時間の制限をパスすることを確認します。 – mishamosher