CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  专题开发/技术/项目 >  多媒体/流媒体开发

自己写的播放器跟微软写的有何不同?

楼主wqrz(滑步向左)2006-05-02 00:02:02 在 专题开发/技术/项目 / 多媒体/流媒体开发 提问

用下面几十行的代码就能播放基本所有的影片格式,大概20K左右     为什么影音风暴播放器   realplay   mediaplay等需要几个M大小?有何不同??     我感觉画面基本上都差不多啊       占用的资源比下面的代码大多了        
   
   
  void   CMyPlayerDlg::OnButton1()    
  {  
  //   TODO:   Add   your   control   notification   handler   code   here  
  CoInitialize(NULL);  
  CoCreateInstance(CLSID_FilterGraph,   NULL,   CLSCTX_INPROC_SERVER,  
  IID_IGraphBuilder,   (void   **)&mGraph);  
   
  mGraph->QueryInterface(IID_IMediaControl,   (void   **)&mMediaControl);  
  mGraph->QueryInterface(IID_IMediaEventEx,   (void   **)&mEvent);  
  mGraph->QueryInterface(IID_IBasicVideo,   (void   **)&mBasicVideo);  
  mGraph->QueryInterface(IID_IBasicAudio,   (void   **)&mBasicAudio);  
  mGraph->QueryInterface(IID_IVideoWindow,   (void   **)&mVideoWindow);  
  //mGraph->QueryInterface(IID_IMediaSeeking,   (void   **)&mSeeking);  
   
  WCHAR         szFilePath[MAX_PATH];  
  MultiByteToWideChar(CP_ACP,   0,   "C:\\111.mpg",   -1,   szFilePath,   MAX_PATH);  
   
  mGraph->RenderFile(szFilePath,NULL);  
   
  mVideoWindow->put_Visible(OAFALSE);  
  mVideoWindow->put_Owner((OAHWND)m_playWindow.GetSafeHwnd());  
   
  RECT   windowRect;  
  ::GetClientRect(m_playWindow.GetSafeHwnd(),   &windowRect);  
  mVideoWindow->put_Left(0);  
  mVideoWindow->put_Top(0);  
  mVideoWindow->put_Width(windowRect.right   -   windowRect.left);  
  mVideoWindow->put_Height(windowRect.bottom   -   windowRect.top);  
  mVideoWindow->put_WindowStyle(WS_CHILD|WS_CLIPCHILDREN|WS_CLIPSIBLINGS);  
   
  mVideoWindow->put_MessageDrain((OAHWND)   m_playWindow.GetSafeHwnd());  
  //   Restore   the   video   window  
  if   (m_playWindow.GetSafeHwnd()   !=   NULL)  
  {  
  //mVideoWindow->put_Visible(lVisible);  
  mVideoWindow->put_Visible(OATRUE);  
  }  
  else  
  {  
  mVideoWindow->put_Visible(OAFALSE);  
  }  
  mMediaControl->Run();  
  }  
  问题点数:0、回复次数:5Top

1 楼lserlohn()回复于 2006-05-02 11:24:28 得分 0

可能在界面和错误处理方面比你自己的好。本质差不多Top

2 楼Xyray(Symbianer)回复于 2006-05-02 22:55:13 得分 0

你这样算是纯粹的dshow外壳   没有自己的东西  
   
  mpc都有解码优化   渲染模式选择   VR   or   VMR   ...  
   
  Top

3 楼psusong(栀子花开)回复于 2006-05-03 12:16:08 得分 0

你的问题和现面的问题是等效的:  
  为什么我不用写一行代码就可以用AppWizard生成一个漂亮的也能响应消息处理的基于MFC的MDI程序?既然这么简单,为什么还有很多人去学习VC++?  
   
  为什么我只要简单的拖动mouse,就可以在对话框上画出一个button来,我们还用Windows   OS干什么?  
   
  或者说如果不装mpeg2解码器,你试试你的代码能播放任何DVD文件吗?  
  Top

4 楼wqrz(滑步向左)回复于 2006-05-03 14:41:17 得分 0

mpc都有解码优化   渲染模式选择   VR   or   VMR   ...  
   
  不能明白,解码优化?xd色弱     看不大出来画质比我写的差多少     看下CPU占用跟内存占用好象也差不了多少啊Top

5 楼httpaspjspphp(小杨大刀)回复于 2006-05-05 12:05:30 得分 0

你这样的代码可以自己用  
  但是根本不能商业应用啊  
   
  再者  
  你的根本没有扩展性  
  举个例子  
  看看qq直播中调用media   player,你的能行吗  
   
  简直是天壤之别Top

相关问题

关键词

得分解答快速导航

  • 帖主:wqrz

相关链接

  • CSDN Blog
  • 技术文档
  • 代码下载
  • 第二书店
  • 读书频道

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo