5346|14

67

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

求用DirectShow开发最简单的播放器源码 [复制链接]

跪求一份在WinCE上用DirectShow制作的视频播放器的源码,只要能播放,有图像有声音就可以了,使用EVC或是Visual 2005等做的都可以,希望懂的大虾发发善心,小弟在此先谢过了!!!!

最新回复

Dx的不太好用。。太卡。还是好好研究下TCPMP  详情 回复 发表于 2008-7-29 10:55
点赞 关注

回复
举报

64

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
忘了留下我的邮箱,现在补上。
我的邮箱:lailzhihou@126.com
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
只要几句代码就可以用directshow写个播放器了...我贴出来不知道会不会有分,哈哈
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

4
 
只要几句代码就可以用directshow写个播放器了...我贴出来不知道会不会有分,哈哈,明天来贴吧,现在懒的重写
 
 
 

回复

82

帖子

0

TA的资源

一粒金砂(初级)

5
 
wince的public目录下面已经提供了这样的源代码。
 
 
 

回复

63

帖子

0

TA的资源

一粒金砂(初级)

6
 
去看看norains在eeworld上的Blog,有一个完整的DD播放类
 
 
 

回复

71

帖子

0

TA的资源

一粒金砂(初级)

7
 

  1.         CComPtr pGraphBuilder;
  2.         CString m_strFileName;
  3.         CFileDialog dlg(TRUE,NULL,NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,
  4.                 _T("媒体文件 (*.wmv)|*.wmv|(*.avi)|*.avi|(*.mp4)|*.mp4||"));

  5.         if(dlg.DoModal()==IDOK)
  6.         {
  7.                 m_strFileName=dlg.GetPathName();

  8.         }
  9.         CoInitialize(NULL);
  10.         if(!pGraphBuilder)
  11.                 pGraphBuilder.CoCreateInstance(CLSID_FilterGraph);
  12.         if(m_strFileName == _T(""))
  13.                 return;
  14.         else
  15.         {
  16.                 HRESULT hr = pGraphBuilder->RenderFile(m_strFileName.GetBuffer(),NULL);
  17.                 if(FAILED(hr))
  18.                         MessageBox(_T("失败"));
  19.                 CComPtr pMW;
  20.                 pGraphBuilder.QueryInterface(&pMW);
  21.                 pMW->put_Owner((OAHWND)this->GetSafeHwnd()); //播放器父窗口句柄
  22.                 pMW->put_WindowState(SW_SHOW);
  23.                 CComPtr pMC;
  24.                 pGraphBuilder.QueryInterface(&pMC);
  25.                 pMC->Run();
  26.         }
复制代码


停止播放和释放资源

  1.         CComPtr pMC;
  2.         pGraphBuilder.QueryInterface(&pMC);
  3.         pMC->Stop();
  4.         CComPtr pMW;
  5.         pGraphBuilder.QueryInterface(&pMW);
  6.         pMW->put_Owner(NULL);
  7.         pMW->put_WindowState(SW_HIDE);
  8.         CoUninitialize();
复制代码
 
 
 

回复

75

帖子

0

TA的资源

一粒金砂(初级)

8
 
CComPtr pGraphBuilder;是全局变量
这个应该只是能播放,有声音,有图像,其他的lz去看norains大大的博客吧,我也去学习下
 
 
 

回复

60

帖子

0

TA的资源

一粒金砂(初级)

9
 
很感谢大家的帮助,我去看了norains的博客,用他的CMedia类来做,但是有个问题,就是在RenderFile的时候不能返回NOERROR,我打开wmv的文件的时候返回的hr是262722,这个时侯让程序继续下去,这时候可以听到声音,但没有图像。如果打开avi的文件的时候返回的hr是-2147220945,有谁知道是怎么回事吗?是不是因为这样的原因才没有图像出来??
 
 
 

回复

73

帖子

0

TA的资源

一粒金砂(初级)

10
 
是不是没有解码器,你用系统自带的media player播放试下看能不能播
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

11
 
感谢Reallyu,确实是 没有解码器的原因,现在的问题是,为什么播放的时候,画面不卡,声音会卡????不知道你们有没有这种现象??是不是的OS的问题????
 
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

12
 
引用 10 楼 lailzhihou 的回复:
感谢Reallyu,确实是 没有解码器的原因,现在的问题是,为什么播放的时候,画面不卡,声音会卡????不知道你们有没有这种现象??是不是的OS的问题????


一般都是画面卡,而声音不卡,说明LZ的板子处理速度不够。但LZ遇到的正好是反的,就也有可能是解码不对,具体原因需要具体分析。
 
 
 

回复

89

帖子

0

TA的资源

一粒金砂(初级)

13
 
声音卡有可能是声卡驱动的问题,你试试放mp3,声音卡不卡
 
 
 

回复

66

帖子

0

TA的资源

一粒金砂(中级)

14
 
我晕,下个DX的SDK里面就有
 
 
 

回复

79

帖子

0

TA的资源

一粒金砂(初级)

15
 
Dx的不太好用。。太卡。还是好好研究下TCPMP
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
报名赢【小米双肩包、contigo水杯】 | TI MSPM0 系列 MCU 再添新成员
了解TI 前沿新品——高性能与高性价比的优秀组合 MSPM0G351x / MSPM0L111x,4月24日(周四)上午10:00直播~

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网 6

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表