www.pudn.com > MyPlayerbylqh.rar > AudioRenderer.h
/************************************************************************************** * * * * **************************************************************************************/ #ifndef AUDIO_RENDERER_H #define AUDIO_RENDERER_H #include "MediaClasses.h" #include "DebugFile.h" /* * 包括直接音频 */ #include#include /* * Audio Renderer Class * * ——某一刻只有一个可用 * */ class MediaAudioRenderer : public MediaItemAudioRenderer { public: LPDIRECTSOUND lpDirectSound; LPDIRECTSOUNDBUFFER lpBuffer; WAVEFORMATEX *ourFormat; DWORD dwBufferSize; DWORD dwNextWriteOffset; DWORD dwProgress; DWORD dwLastPlayPos; unsigned long dwPlayed; HANDLE audioThread; UINT uTimerID; LONG lInTimer; DWORD id; MediaAudioCallback callback; void *lpData; int paused; /* * 方法 * */ MediaAudioRenderer(); ~MediaAudioRenderer(); /* * 媒体项方法 */ media_type_t GetType(); char *GetName(); MP_RESULT Connect(MediaItem *item); MP_RESULT ReleaseConnections(); DWORD GetCaps(); MP_RESULT Configure(HINSTANCE hInstance, HWND hwnd); /* * 音频补偿方法 */ MP_RESULT Open(HWND hwnd, WAVEFORMATEX *inFormat); MP_RESULT SetCallback(void *lpData, MediaAudioCallback callback); MP_RESULT SetVolume(unsigned int volume); unsigned long GetAudioTime(); MP_RESULT Bufferize(); MP_RESULT Start(); MP_RESULT Pause(); MP_RESULT Stop(); MP_RESULT Close(); }; #endif