KLMp4Audio.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. //---------------------------------------------------------------------------
  2. // Sword3 Engine (c) 1999-2000 by Kingsoft
  3. //
  4. // File: KLMp4Audio.cpp
  5. // Date: 2000.08.08
  6. // Code: Daniel Wang
  7. // Desc: MP3 Stream Music Class
  8. //---------------------------------------------------------------------------
  9. #include <stdafx.h>
  10. #include "KLMp4Audio.h"
  11. //---------------------------------------------------------------------------
  12. #define WAVE_FORMAT_MP3 85 // mp3 wave format tag value
  13. //---------------------------------------------------------------------------
  14. // 函数: Seek
  15. // 功能:
  16. // 参数: void
  17. // 返回: void
  18. //---------------------------------------------------------------------------
  19. void KLMp4Audio::Seek(int nPercent)
  20. {
  21. m_AviFile.AudioSeek(nPercent);
  22. mp3_bufbytes = 0;
  23. }
  24. //---------------------------------------------------------------------------
  25. // 函数: Rewind
  26. // 功能:
  27. // 参数: void
  28. // 返回: void
  29. //---------------------------------------------------------------------------
  30. void KLMp4Audio::Rewind()
  31. {
  32. m_AviFile.Rewind();
  33. mp3_bufbytes = 0;
  34. }
  35. //---------------------------------------------------------------------------
  36. // 函数: Mp3FileOpen
  37. // 功能:
  38. // 参数:
  39. // 返回: BOOL
  40. //---------------------------------------------------------------------------
  41. BOOL KLMp4Audio::Mp3FileOpen(LPSTR FileName)
  42. {
  43. if (!m_AviFile.Open(FileName))
  44. return FALSE;
  45. if (!m_AviFile.GetAudioIndex())
  46. return FALSE;
  47. m_AviFile.GetWaveFormat(&m_WaveFormat);
  48. if (m_WaveFormat.wFormatTag != WAVE_FORMAT_MP3)
  49. return FALSE;
  50. return TRUE;
  51. }
  52. //---------------------------------------------------------------------------
  53. // 函数: Mp3FileRead
  54. // 功能:
  55. // 参数:
  56. // 返回: void
  57. //---------------------------------------------------------------------------
  58. DWORD KLMp4Audio::Mp3FileRead(PBYTE pBuf, DWORD dwLen)
  59. {
  60. return m_AviFile.ReadAudio(pBuf, dwLen);
  61. }
  62. //---------------------------------------------------------------------------
  63. // 函数: Mp3FileSeek
  64. // 功能:
  65. // 参数:
  66. // 返回: void
  67. //---------------------------------------------------------------------------
  68. DWORD KLMp4Audio::Mp3FileSeek(LONG lOffset)
  69. {
  70. return m_AviFile.AudioSeek(lOffset);
  71. }
  72. //---------------------------------------------------------------------------