winmm.c 654 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifdef _WIN32
  2. #include "../include/vibration.h"
  3. #include <windows.h>
  4. #include <mmsystem.h>
  5. #include <stdlib.h>
  6. static char* gFilename = NULL;
  7. int LoadMusic(const char* filePath) {
  8. if (gFilename) {
  9. free(gFilename);
  10. }
  11. gFilename = _strdup(filePath);
  12. return (gFilename != NULL) ? 0 : -1;
  13. }
  14. int PlayMusic(void) {
  15. if (gFilename) {
  16. return PlaySoundA(gFilename, NULL, SND_ASYNC | SND_LOOP) ? 0 : -1;
  17. }
  18. return -1;
  19. }
  20. int StopMusic(void) {
  21. PlaySoundA(NULL, NULL, 0);
  22. return 0;
  23. }
  24. int UnloadMusic(void) {
  25. if (gFilename) {
  26. free(gFilename);
  27. gFilename = NULL;
  28. }
  29. return 0;
  30. }
  31. #endif