资源简介
使用WIN32 SDK 的API函数,逐一实现快进、后退、声音调节等功能(功能键代码都是自己写的),这并不是用MFC写的!!对于资源较稀缺的《windows程序设计》的学习,可以给你不少帮助。
代码片段和文件信息
#include
#include
#include
#include
#include
#include “control.h“
#include “evcode.h“
#include “time.h“
#include
#include
#include
#include se.h>
#include
#include “dsplay.h“
#include “resource.h“
#include “nserror.h“
//
// Constants and macros
//
BOOL CALLBACK PlayDlg (HWND UINT WPARAM LPARAM) ;
LRESULT CALLBACK WndMainProc(HWND UINT WPARAM LPARAM);
#ifndef NUMELMS
#define NUMELMS(aa) (sizeof(aa)/sizeof((aa)[0]))
#endif
const int AUDIO=1 VIDEO=2; // Used for enabling playback menu items
#pragma warning(disable: 4100)
//
// Global data
//
HWND hwnd=0;
HMENU hMenu=0;
HINSTANCE ghInst=0;
TCHAR g_szFileName[MAX_PATH]={0};
BOOL g_bAudioOnly=FALSE g_bFullscreen=FALSE;
LONG Volume=VOLUME_FULL;
PLAYSTATE g_psCurrent=Stopped;
// PlayState 的值
// 1=停止
// 2=暂停中
// 3=正在播放
// 4=向前搜索
// 5=向后搜索
// 6=缓冲中
// 7=等待中
// 8=播放完毕
// 9=转换曲目
// 10=准备就绪
HWND hwndModelesshwndScroll ;
static HBITMAP hBitmap;
HDC hdchdcMem1;
static int t= 0p=0q=1k=0bofang=0;
IGraphBuilder *pGB = NULL; //添加一个过滤器,当应用程序使用此接口来创建一个过滤器图表,添加过滤器或过滤器图表中删除过滤器,枚举所有的过滤器在过滤器图表,并强制连接
IMediaControl *pMC = NULL; //图表运行时,数据移动通过图形和呈现。
IMediaEventEx *pME = NULL; //继承自IMediaEvent接口,接收过滤器图表的事件,并做出响应。
IVideoWindow *pVW = NULL;//捕获到视频窗口的“Handle”、“Caption”、“Class”等属性,就联想到可以通过这些信息获取视频窗口的句柄了
IBasicAudio *pBA = NULL; //该put_Volume方法将音频信号的音量(振幅)。
IBasicVideo *pBV = NULL;
IMediaSeeking *pMS = NULL;//获取文件的时间。使用IMediaSeeking->SetPositions函数实现视频播放时当前位置向前移动或向后移动
HRESULT PlayMovieInWindow(LPTSTR szFile)
{
USES_CONVERSION;
WCHAR wFile[MAX_PATH];
HRESULT hr;
// Check input string
if (!szFile)
return E_POINTER;
// Clear open dialog remnants before calling RenderFile()
UpdateWindow(hwnd);
// Convert filename to wide character string
wcsncpy(wFile T2W(szFile) NUMELMS(wFile)-1);
wFile[MAX_PATH-1] = 0;
// Get the interface for DirectShow‘s GraphBuilder
JIF(CoCreateInstance(CLSID_FilterGraph NULL CLSCTX_INPROC_SERVER
IID_IGraphBuilder (void **)&pGB));
// Get the media event interface before building the graph
JIF(pGB->QueryInterface(IID_IMediaEventEx (void **)&pME));
// Have the graph builder construct the appropriate graph automatically
JIF(pGB->RenderFile(wFile NULL));
if( SUCCEEDED( hr ) )
{
// QueryInterface for DirectShow interfaces
JIF(pGB->QueryInterface(IID_IMediaControl (void **)&pMC));
JIF(pGB->QueryInterface(IID_IMediaSeeking (void **)&pMS));//时间
// Query for video interfaces which may not be relevant for audio files
JIF(pGB->QueryInterface(IID_IVideoWindow (void **)&pVW));
JIF(pGB->QueryInterface(IID_IBasicVideo (void **)&pBV));
// 查询音频接口,这可能不是相关的视频
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2015-01-06 17:42 孤狼播放器\
文件 1673 2014-06-07 15:48 孤狼播放器\DSPlay.h
目录 0 2015-01-06 17:42 孤狼播放器\Debug\
文件 12636 2014-06-08 22:19 孤狼播放器\Debug\BuildLog.htm
文件 663 2014-06-08 13:34 孤狼播放器\Debug\DSPlay.exe.em
文件 728 2014-06-08 13:34 孤狼播放器\Debug\DSPlay.exe.em
文件 621 2014-06-08 22:19 孤狼播放器\Debug\DSPlay.exe.intermediate.manifest
文件 836544 2014-06-08 22:19 孤狼播放器\Debug\DSPlay.ilk
文件 1477632 2014-06-08 22:19 孤狼播放器\Debug\DSPlay.pdb
文件 65 2014-06-08 22:19 孤狼播放器\Debug\mt.dep
文件 592896 2014-06-08 22:19 孤狼播放器\Debug\vc90.idb
文件 667648 2014-06-08 22:19 孤狼播放器\Debug\vc90.pdb
文件 2729472 2014-06-08 22:19 孤狼播放器\Debug\孤狼播放器.exe
文件 260271 2014-06-08 22:19 孤狼播放器\Debug\视频播放器.obj
文件 2201680 2014-06-08 22:14 孤狼播放器\Debug\视频播放器.res
文件 3064 2014-06-08 22:14 孤狼播放器\resource.h
文件 1853856 2014-06-06 14:13 孤狼播放器\位图.bmp
文件 16958 2014-06-07 12:25 孤狼播放器\关于位图.ico
文件 4286 2014-06-06 13:01 孤狼播放器\图标.ico
文件 150056 2014-06-08 21:35 孤狼播放器\图片.bmp
文件 821248 2014-08-29 23:55 孤狼播放器\播放器.ppt
文件 173816 2014-06-08 22:14 孤狼播放器\背景.bmp
目录 0 2015-01-06 17:49 孤狼播放器\视频播放器\
文件 1673 2014-06-07 15:48 孤狼播放器\视频播放器\DSPlay.h
文件 7039 2014-06-08 22:14 孤狼播放器\视频播放器.vcproj
文件 13312 2014-12-22 22:27 孤狼播放器\视频播放器.suo
文件 895 2014-06-07 16:53 孤狼播放器\视频播放器.sln
文件 6491 2014-06-08 22:14 孤狼播放器\视频播放器.rc
文件 15657984 2014-12-22 22:27 孤狼播放器\视频播放器.ncb
文件 4583 2011-03-21 17:59 孤狼播放器\视频播放器.dsp
文件 1427 2014-12-22 22:27 孤狼播放器\视频播放器.vcproj.LYUUDFWB3RS42PF.Administrator.user
............此处省略30个文件信息
相关资源
- 基于win32的飞机大战游戏设计与实现
- 3D游戏场景漫游4.0版程序源码by浅墨
- 3D场景漫游2.0版程序源码 by浅墨
- 3D场景漫游程序源码 by浅墨
- 3D镜面特效程序源码 by浅墨
- php-5.2.13-Win32-VC6-x86.msi
- php-5.4.8-nts-Win32-VC9-x86.zip
- OpenCV+MFC制作视频播放器
- 基于mfcc特征的dtw算法实现
- C++语音识别接口Microsoft Speech SDK简单清
- 疯狂跑酷游戏
- DICOM3DSDK-PACS 开发包
- vb关于api编程的pdf电子书《Visual basi
- 异形窗体的win32 API实现
- 光学分选机缺陷检测(大华SDK抓取)
- 7z sdk的C++封装
- UE4下文本转语音(Microsoft Speech SDK)
- nrf52832的SDK
- C++ 连连看146451
- MinGW-w64 C/C++ 编译器
- 基于百度sdk的语音识别 C++版本demo V
- 海康 最新的 sdk demo c++
- basler巴斯勒相机pylon的SDK开发案例
- c++二维码定位和识别+zbar+opencv+ubuntu
- 吃豆人Win32小游戏
- 佳能相机Canon EOS EDSDK 版本号13.9.10 发
- Visual Studio2017平台下的使用MFC做的音乐
- [纯C语言 + Win32 API]一步一步写个围棋
- win32 API函数 MFC函数 msdn中文文档
- OPC UA SDK(C++)源码分析
评论
共有 条评论