MIDI.CPP
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:3k
源码类别:

Windows编程

开发平台:

Visual C++

  1. /*==========================================================================
  2.  *
  3.  *  Copyright (C) 1995-1997 Microsoft Corporation. All Rights Reserved.
  4.  *
  5.  *  File: midi.cpp
  6.  *
  7.  ***************************************************************************/
  8. // Includes....
  9. #include "windows.h"
  10. #include "midi.h"
  11. #include "stdio.h"
  12. // Externals....
  13. extern HWND g_hWnd;
  14. //------------------------------------------------------------------
  15. // 
  16. // Function : PlayMidi()
  17. //
  18. // Purpose : Plays a midi file
  19. //
  20. //------------------------------------------------------------------
  21. BOOL PlayMidi(char *sFileName)
  22. {
  23.     char buf[256];
  24.     sprintf(buf, "open %s type sequencer alias MUSIC", sFileName);
  25.     
  26.     if (mciSendString("close all", NULL, 0, NULL) != 0)
  27.     {
  28. return(FALSE);
  29.     }
  30.     if (mciSendString(buf, NULL, 0, NULL) != 0)
  31.     {
  32. return(FALSE);
  33.     }
  34.     if (mciSendString("play MUSIC from 0", NULL, 0, g_hWnd) != 0)
  35.     {
  36. return(FALSE);
  37.     }
  38.     
  39.     // Yahoo!
  40.     return TRUE;
  41. }
  42. //------------------------------------------------------------------
  43. // 
  44. // Function : PauseMidi()
  45. //
  46. // Purpose : Pauses midi file
  47. //
  48. //------------------------------------------------------------------
  49. BOOL PauseMidi()
  50. {
  51.     // Pause if we're not already paused...
  52.     if (mciSendString("stop MUSIC", NULL, 0, NULL) != 0)
  53.     {
  54. return(FALSE);
  55.     }
  56.     
  57.     // Yahoo!
  58.     return TRUE;
  59. }
  60. //------------------------------------------------------------------
  61. // 
  62. // Function : ResumeMidi()
  63. //
  64. // Purpose : Resumes playing of a midi file
  65. //
  66. //------------------------------------------------------------------
  67. BOOL ResumeMidi()
  68. {
  69.     // Resume midi
  70.     if (mciSendString("play MUSIC notify", NULL, 0, g_hWnd) != 0)
  71.     {
  72. return(FALSE);
  73.     }
  74.     // Yahoo!
  75.     return TRUE;
  76. }
  77. //------------------------------------------------------------------
  78. // 
  79. // Function : StopMidi
  80. //
  81. // Purpose : Stops a midi file playing
  82. //
  83. //------------------------------------------------------------------
  84. BOOL StopMidi()
  85. {
  86.     if (mciSendString("close all", NULL, 0, NULL) != 0)
  87.     {
  88. return(FALSE);
  89.     }
  90.     // Yahoo!
  91.     return TRUE;
  92. }
  93. //------------------------------------------------------------------
  94. // 
  95. // Function : ReplayMidi()
  96. //
  97. // Purpose : Replays a midi file
  98. //
  99. //------------------------------------------------------------------
  100. BOOL ReplayMidi()
  101. {
  102.     // Replay midi
  103.     if (mciSendString("play MUSIC from 0 notify", NULL, 0, g_hWnd) != 0)
  104.     {
  105. return(FALSE);
  106.     }
  107.     // Yahoo!
  108.     return TRUE;
  109. }