📄 mci_obuf.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 + -