我做了一个小游戏 想在运行窗体上加背景音乐  请问具体如何实现顺便问下用graphics画图颜色看起了不饱满怎么办

解决方案 »

  1.   


    using System.Media; private void Form1_Load(object sender, EventArgs e)
    {
        SoundPlayer msc = new SoundPlayer("C:\\背景音乐文件.wav");
        msc.Play();
    }
      

  2.   

    http://topic.csdn.net/u/20080917/12/d9213650-0586-4b1a-b613-f12d103b72b2.html
      

  3.   

    或者用 windows dll 编程播放
      

  4.   

    using System.Media; 
    using System.IO; 
    SoundPlayer music = new SoundPlayer(); 
    music = new SoundPlayer(""); 
    music.Play();

    [DllImport("winmm.dll")] 
     public static extern long PlaySound(String fileName,long a,long b); [DllImport("winmm.dll")]
           public static extern long mciSendString(string lpstrCommand,string lpstrReturnString,long length,long hwndcallback);
           public static void PlayMusic(string p_FileName)
            {
             try
               {
      mciSendString(@"close "+p_FileName ,"",0,0);
      mciSendString(@"open " + p_FileName,"",0,0);
      mciSendString(@"play " + p_FileName ,"",0,0);
             }
               catch
                {
                }
           }
      

  5.   


    如果我把debug下的exe文件拷的别人电脑 c盘下的音乐文件也要拷的别人电脑的相同位置吗
    可不可以把我的exe文件和音乐文件一起打包 但又如何确定别人把音乐文件拷到什么位置呢
      

  6.   

    你写相对路径不就可以了
     SoundPlayer msc=new SoundPlayer("背景音乐文件.wav"); 
    然后背景音乐文件.wav和程序放同一个目录里
      

  7.   

    public void PlayLooping()  使用这个方法就行
      

  8.   

    把音乐文件做成资源编译进EXE里,运行时先把音乐释放到同目录下,然后再播放即可.
    画的图不饱满,这个太抽象,需要实图演示.
      

  9.   

      public partial class movie : Form
        {
            [DllImport("winmm.dll")]
            private static extern long mciSendString(string strCommand,
            string strReturn, int iReturnLength, IntPtr hwndCallback);
            private int imt=0;
            string filename = "";
            public movie()
            {
                InitializeComponent();
            }       
           
            private void 播放ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                play();
            }        private void 暂停ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                string sCommand = "pause MediaFile";
                string ret = null;
                mciSendString(sCommand, ret, 0, IntPtr.Zero);
            }        private void 打开ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                OpenFileDialog f = new OpenFileDialog();
                if (f.ShowDialog() == DialogResult.OK)
                {
                    filename = f.FileName;
                }
                play();
                
            }        private void 停止ToolStripMenuItem_Click(object sender, EventArgs e)
            {
                string sCommand = "close MediaFile";
                string ret = null;
                mciSendString(sCommand, ret, 0, IntPtr.Zero);
                imt = 0;
            }
            private void play()
            {
                string sCommand = "open \"" + filename + "\" type mpegvideo alias MediaFile";
                //   MediaFile是选择播放文件类型 
                string ret = null;
                mciSendString(sCommand, ret, 0, IntPtr.Zero);
                sCommand = "play MediaFile";
                ret = null;
                if (imt == 0)
                {
                    mciSendString(sCommand, ret, 0, IntPtr.Zero);
                                }
                else
                {
                    mciSendString(sCommand, ret, 0, IntPtr.Zero);
                }
            }
        }
      

  10.   

    C# codeusing System.Media;privatevoid Form1_Load(object sender, EventArgs e) 

        SoundPlayer msc=new SoundPlayer("C:\\背景音乐文件.wav"); 
        msc.Play();