📄 avireader.h
字号:
// AviReader.h: interface for the CAviReader class.
//
//////////////////////////////////////////////////////////////////////
#pragma once
#define VIDEO_BUFFER_MAX_SIZE 100000
#define AUDIO_BUFFER_MAX_SIZE 2000
#include "AviHeadInfo.h"
//##ModelId=4753BE280232
class CAviReader
{
public:
//##ModelId=4753BE280233
CAviReader();
//##ModelId=4753BE280242
virtual ~CAviReader();
//Operaters:
public:
//##ModelId=4753BE280244
int OpenAviFile(const char *filename);
//##ModelId=4753BE280251
int CloseAviFile();
//stream read functions
//##ModelId=4753BE280252
int ReadStream(BYTE *lpVidBuf, DWORD nMaxVidBuf, BYTE *lpAudBuf, DWORD nMaxAudBuf, DWORD *nLen);
//##ModelId=4753BE280263
int ReadVideo(BYTE **lpVideo, DWORD &nTimeStamp);
//##ModelId=4753BE280266
int ReadAudioFrame(BYTE **lpAudio, DWORD &nTimeStamp);
//avi file read position control functions
//##ModelId=4753BE280271
BOOL SetAviReaderPos(float fStartPlayTime);
//##ModelId=4753BE280274
void GetAviReaderPos(LONG &nVideoPos, LONG &nAudioPos);
//##ModelId=4753BE280277
int SetVideoPosition(LONG nFrame, DWORD *nFrameLen);
//##ModelId=4753BE280281
int SetAudioFrame(LONG nFrame, DWORD *nFrameLen);
//##ModelId=4753BE280284
BOOL CheckSeekEnable();
//bitrate functions
//##ModelId=4753BE280285
double GetVideoBitrate();
//##ModelId=4753BE280286
double GetAudioBitrate();
//##ModelId=4753BE280290
BOOL IsEndRead();
private:
//##ModelId=4753BE280291
BOOL SearchVideoPos(LONG nCurIdx, LONG &nVideoPos, LONG &nAudioPos);
//##ModelId=4753BE280295
void Long2Str(BYTE *dst, int n);
//##ModelId=4753BE2802A1
ULONG Str2ULong(BYTE *str);
//##ModelId=4753BE2802AF
ULONG Str2UShort(BYTE *str);
//##ModelId=4753BE2802BF
int Sampsize();
//##ModelId=4753BE2802C0
int AddIndexEntry(BYTE *tag, LONG flags, LONG pos, LONG len);
//Attributes:
public:
//##ModelId=4753BE2802D1
avi_t* m_pAviFile;
//##ModelId=4753BE2802DE
long m_nAviErrNo;
private:
//##ModelId=4753BE2802DF
float m_fStartPlayTime;
//##ModelId=4753BE2802E0
LONG m_nCurVideoPos;
//##ModelId=4753BE2802EE
LONG m_nCurAudioPos;
//##ModelId=4753BE2802EF
DWORD m_dwStartTime;
//##ModelId=4753BE2802FD
BYTE * m_pVideoBuf;
//##ModelId=4753BE2802FE
BYTE * m_pAudioBuf;
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -