Code/Resource
Windows Develop
Linux-Unix program
Internet-Socket-Network
Web Server
Browser Client
Ftp Server
Ftp Client
Browser Plugins
Proxy Server
Email Server
Email Client
WEB Mail
Firewall-Security
Telnet Server
Telnet Client
ICQ-IM-Chat
Search Engine
Sniffer Package capture
Remote Control
xml-soap-webservice
P2P
WEB(ASP,PHP,...)
TCP/IP Stack
SNMP
Grid Computing
SilverLight
DNS
Cluster Service
Network Security
Communication-Mobile
Game Program
Editor
Multimedia program
Graph program
Compiler program
Compress-Decompress algrithms
Crypt_Decrypt algrithms
Mathimatics-Numerical algorithms
MultiLanguage
Disk/Storage
Java Develop
assembly language
Applications
Other systems
Database system
Embeded-SCM Develop
FlashMX/Flex
source in ebook
Delphi VCL
OS Develop
MiddleWare
MPI
MacOS develop
LabView
ELanguage
Software/Tools
E-Books
Artical/Document
MediaPlayback.h
Package: VC++视频传输.rar [view]
Upload User: hxb_1234
Upload Date: 2010-03-30
Package Size: 8328k
Code Size: 3k
Category:
Visual C++ Books
Development Platform:
Visual C++
- /**************************************************************************************
- * *
- * *
- **************************************************************************************/
- #ifndef MEDIA_PLAYBACK_H
- #define MEDIA_PLAYBACK_H
- #include <windows.h>
- #include "Input.h"
- #include "Decaps.h"
- #include "MediaBuffer.h"
- #include "VideoDecoder.h"
- #include "VideoBuffer.h"
- #include "VideoRenderer.h"
- #include "AudioDecoder.h"
- #include "AudioRenderer.h"
- #include "MediaClasses.h"
- #include "Subtitles.h"
- #define WM_PLAYA_PLAYBACK_END (WM_USER + 2)
- /*
- * Playback Class
- * --------------
- *
- * ——为所有媒体类中的项和过滤器提供一个前端处理
- *
- */
- class MediaPlayback {
- public:
- MediaInput *input;
- MediaDecaps *decaps;
- MediaVideoDecoder *videoDecoder;
- MediaVideoBuffer *videoBuffer;
- MediaVideoRenderer *videoRenderer;
- MediaAudioDecoder *audioDecoder;
- MediaAudioRenderer *audioRenderer;
- MediaSubtitler *subtitler;
- HWND hwndPlayback;
- RECT *videoRect;
- BOOL hasVideo;
- BOOL hasAudio;
- BOOL hasSubtitles;
- BOOL playing;
- BOOL paused;
- BOOL rewind;
- BOOL fastForward;
- BOOL fullscreen;
- BOOL desktopMode;
- BOOL end;
- BOOL buffering;
- BOOL hasToBuffer;
- DWORD bufferingProgress;
- DWORD loop;
- DWORD baseTime;
- DWORD stopTime;
- DWORD volume;
- HANDLE playbackMutex;
- HANDLE videoThread;
- DWORD videoThreadId;
- DWORD videoFrames;
- DWORD audioBytes;
- char filename[512];
- MediaPlayback();
- ~MediaPlayback();
- MP_RESULT OpenMedia(char *lpFilename, HWND hwndPlayback);
- MP_RESULT OpenMediaSource(char *lpFilename);
- MP_RESULT OpenMediaFromSource(HWND hwnd);
- BOOL HasVideo();
- BOOL HasAudio();
- char *GetFilename();
- unsigned int GetVideoWidth();
- unsigned int GetVideoHeight();
- unsigned long GetVideoTime();
- unsigned long GetAudioTime();
- double GetPlaybackProgress();
- unsigned int GetActualTime();
- unsigned int GetTotalTime();
- double GetCurrentFps();
- BOOL IsPaused();
- BOOL IsPlaying();
- BOOL IsInFullscreen();
- BOOL IsOverlay();
- BOOL IsBuffering();
- DWORD GetBufferingProgress();
- MP_RESULT UpdateBuffering();
- MP_RESULT FlipToGDI();
- MP_RESULT Play();
- MP_RESULT Pause();
- MP_RESULT NextFrame();
- MP_RESULT Stop(int redrawWindow);
- MP_RESULT Close();
- MP_RESULT FastForward();
- MP_RESULT Rewind();
- MP_RESULT Seek(int percent);
- MP_RESULT MaintainImage();
- MP_RESULT SetDesktopMode(BOOL on);
- MP_RESULT SetVideoRect(RECT *rect);
- MP_RESULT SetFullscreen(int active, HWND hwnd);
- MP_RESULT SetVolume(int volume);
- MP_RESULT SetLoop(int loop);
- };
- #endif