VC下如何播放MP4等视频文件 谁有例子,越简单越好最好是SDK的 直接API操作怎么用mciSendComman()这个函数 播放视频?多谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 就我所知windows API现成的没有,找个别人包装好的库,调用一下。 用ffmepg库吧,大概流程就是,加载MP4文件,读视频流放在packet中,用packet解码成帧,再播放 内置的Windows API没有,需要安装解码器。 给份代码吧,我直接COPY容易点。如果是SDK的最好 那你不如直接用MEDIA PLAY控件,这个更省事,连播放停止继续暂停按钮都是现成 给份代码,例子吧。SDK的最好 我写过很简单的一个播放器,不是sdk的,基于ffmpeg的http://blog.csdn.net/leixiaohua1020/article/details/8652605 我用的OpenCV void CReadVideoView::OnFileOpen(){ // TODO: 在此添加命令处理程序代码 int nFrmNum = 0; CFileDialog dlgReadImage( TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,(LPCTSTR)_TEXT("All Files(*.*)|*.*||"),this,0,TRUE); CString ImagePathName; if (dlgReadImage.DoModal() == IDOK) { ImagePathName = dlgReadImage.GetPathName(); } else { return; } if (!(pCapture = cvCaptureFromFile(ImagePathName))) { MessageBox("Can not open video file!"); } SetTimer(1,25,NULL);}void CReadVideoView::OnTimer(UINT_PTR nIDEvent){ // TODO: 在此添加消息处理程序代码和/或调用默认值 if (1 == nIDEvent) { pFrame = NULL; pFrame = cvQueryFrame(pCapture); if (!pFrame) { cvReleaseCapture(&pCapture); return; }// imshow("Movie",(Mat)pFrame); Invalidate(); } CView::OnTimer(nIDEvent);}当然,得先配置OpenCV库 DLL中能添加消息,并且添加对应得响应函数吗? 求一个在MFC下用WINPCAP 抓包,对数据包分析的源代码 跪谢求助各位高手 嵌套结构共享内存的使用!!! DLL声明 提问:如何实现FlexGrid控件的键盘操作? 这个关于打印设置的问题,谁能解决,反正我是不行了, 小弟在此诚恳请教! 下载源代码了!还有分数(每人都有) 关于bho注册的问题 VC--如何获得想的消息? Activex嵌入Webbrowser打开有silversight控件的网页不能输入数字和英文 MFC编写了一个应用程序,其中的多个cpp如何转成dll文件?
http://blog.csdn.net/leixiaohua1020/article/details/8652605
void CReadVideoView::OnFileOpen()
{ // TODO: 在此添加命令处理程序代码 int nFrmNum = 0; CFileDialog dlgReadImage( TRUE,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,(LPCTSTR)_TEXT("All Files(*.*)|*.*||"),this,0,TRUE);
CString ImagePathName;
if (dlgReadImage.DoModal() == IDOK)
{
ImagePathName = dlgReadImage.GetPathName();
}
else
{
return;
} if (!(pCapture = cvCaptureFromFile(ImagePathName)))
{
MessageBox("Can not open video file!");
}
SetTimer(1,25,NULL);
}
void CReadVideoView::OnTimer(UINT_PTR nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
if (1 == nIDEvent)
{
pFrame = NULL;
pFrame = cvQueryFrame(pCapture);
if (!pFrame)
{
cvReleaseCapture(&pCapture);
return;
}
// imshow("Movie",(Mat)pFrame);
Invalidate();
}
CView::OnTimer(nIDEvent);
}
当然,得先配置OpenCV库