⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mci_obuf.h

📁 完整的MP3播放器源码
💻 H
字号:
/* mci_obuf.h

   Obuffer implementation for Win32. Written by Jeff Tsay. */

#ifndef MCI_OBUF_H
#define MCI_OBUF_H



#include <windows.h>


static const DWORD OBUFFERSIZE = 2 * 1152;

#define TWO_TIMES   5
static const DWORD BUFFERSIZE = OBUFFERSIZE << TWO_TIMES;
#define BIT_SELECT  0x1f

#define SLEEPTIME   256
#include    "resource.h"       // main symbols
#include	<mmsystem.h>


//
#pragma comment(linker,"/defaultlib:Winmm.lib")

// MCIbuffer class written by Jeff Tsay
class MCIbuffer 
{
public:
	static HANDLE m_hEvent;
	MCIbuffer(){};
	MCIbuffer(DWORD number_of_channels);
	~MCIbuffer();

  virtual BOOL	InitBuffer(CMpAudioFile* pHdr);
  virtual void	append(DWORD channel, WORD value);
  virtual void	write_buffer(int& fd);

#ifdef SEEK_STOP
  void   clear_buffer();
  void   set_stop_flag();
#endif

private:
  DWORD bufferp[2];
  DWORD channels;
  tWAVEFORMATEX *lpwf;
  LPWAVEHDR* lpwavehdr_arr;
  HWAVEOUT m_hWaveOut;
  DWORD buffer_count;
  DWORD hdr_size;
  DWORD fillup;
  DWORD data_size;
  DWORD user_stop;

  void   wave_swap();


  DWORD m_ct;

};


#endif // MCI_OBUFFER_H

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -