none
C#中如何播放MID格式的音乐 RRS feed

  • 问题

  • 各位前辈好,我想给一个WinFrom程序添加一个启动的背景音乐,但是查了很多资料,只能播放WAV格式的,但是这种格式的文件体积太大,只有放弃,而MID格式的文件体积较小。如果能将MID格式的音乐也嵌进程序去就更完美了,可是网上查不到资料,所以之后来请教各位前辈,谢谢!
    2010年12月23日 14:57

答案

  • dear
    我找到了mid挡案,我试了一下System.Media.SoundPlayer似乎不能播放mid
    我试了AxWindowsMediaPlayer可以播放,用法请参考
    http://www.dotblogs.com.tw/larrynung/archive/2009/03/01/7325.aspx

    string path = @"c:\town.mid";
    this.axWindowsMediaPlayer1.URL = path;
    this.axWindowsMediaPlayer1.Ctlcontrols.play();
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    • 已标记为答案 Paul Zhou 2010年12月27日 9:27
    2010年12月25日 15:50

全部回复

  • 您好

    請參考

    Best way to play MIDI sounds using C#

    [C#]使用 WindowsAPI 中的 mciSendString 函式播放音樂 將程式碼中 01.mp3 改成您的 mid 音樂檔案

    2010年12月23日 16:03
  • dear
    试试用System.Media.SoundPlayer播放音乐
    http://www.zu14.cn/2009/02/13/dotnet-system-media-soundplayer/

    同步播放:
    System.Media.SoundPlayer player = new System.Media.SoundPlayer();
    player.SoundLocation = @"d:\music\happy.wav";
    player.Load();
    player.Play();

    异步播放:
    System.Media.SoundPlayer player = new System.Media.SoundPlayer();
    player.SoundLocation = @"d:\music\happy.mid";
    player.LoadAsync();
    player.PlaySync();

    循环播放:
    System.Media.SoundPlayer player = new System.Media.SoundPlayer();
    player.SoundLocation = @"d:\music\happy.wav";
    player.Load();
    player.PlayLooping();
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    2010年12月25日 12:05
  • dear
    试试用System.Media.SoundPlayer播放音乐
    http://www.zu14.cn/2009/02/13/dotnet-system-media-soundplayer/

    同步播放:
    System.Media.SoundPlayer player = new System.Media.SoundPlayer();
    player.SoundLocation = @"d:\music\happy.wav";
    player.Load();
    player.Play();

    异步播放:
    System.Media.SoundPlayer player = new System.Media.SoundPlayer();
    player.SoundLocation = @"d:\music\happy.mid";
    player.LoadAsync();
    player.PlaySync();

    循环播放:
    System.Media.SoundPlayer player = new System.Media.SoundPlayer();
    player.SoundLocation = @"d:\music\happy.wav";
    player.Load();
    player.PlayLooping();
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/

    我記得 System.Media.SoundPlayer 不支援 mid 音樂格式...

     


    歡迎參觀我的Blog.NET菜鳥自救會
    2010年12月25日 15:36
  • dear
    我找到了mid挡案,我试了一下System.Media.SoundPlayer似乎不能播放mid
    我试了AxWindowsMediaPlayer可以播放,用法请参考
    http://www.dotblogs.com.tw/larrynung/archive/2009/03/01/7325.aspx

    string path = @"c:\town.mid";
    this.axWindowsMediaPlayer1.URL = path;
    this.axWindowsMediaPlayer1.Ctlcontrols.play();
    秘訣無它,唯勤而已 http://www.dotblogs.com.tw/yc421206/
    • 已标记为答案 Paul Zhou 2010年12月27日 9:27
    2010年12月25日 15:50