0

オンラインでいくつかのコードスニップを見つけましたが、問題は、システム上でローカルにホストされているファイルの場所を使用していることです。アプリからMP3またはwavを再生し、mp3ファイルを必要とするのではなくアプリにビルドしたいと思います。 EXE。そのようなことをどのように行うかについてのアイデアはありますか?

4

1 に答える 1

1

mp3またはwavをリソースとして埋め込みます。

  1. ソリューションエクスプローラーでプロジェクトを右クリックします。
  2. メニューから[追加/既存のアイテム...]を選択します。ファイルを選択して追加します。
  3. ソリューションエクスプローラーで新しく追加されたファイルを選択し、右クリックします
  4. 右クリックメニューから[プロパティ]を選択します
  5. BuildActionプロパティをEmbeddedResourceに変更します

次のコードを使用して再生します。

WindowsMediaPlayer wmp = new WindowsMediaPlayer();
Stream stream = Assembly.GetExecutingAssembly(). GetManifestResourceStream("yourfile.mp3");
string temppath = Path.GetTempPath() + "\\temp.mp3";
using (Stream output = new FileStream (temppath, FileMode.Create))
{
   byte[] buffer = new byte[BUFFER_SIZE];
   int read;

        while ( (read= stream.Read(buffer, 0, buffer.Length)) > 0)
        {
            output.Write(buffer, 0, read);
        }
}
wmp.URL = temppath;
wmp.controls.play();

一時ファイルを使い終わったら、忘れずに削除してください。

于 2012-04-14T05:23:51.947 に答える