CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

如何全屏播放AVI文件?

楼主jemmylau(枕头)2002-05-24 12:57:48 在 VC/MFC / 基础类 提问

最好能用MCI实现,我不想用mediaplayer类! 问题点数:20、回复次数:15Top

1 楼pale(态度很重要)回复于 2002-05-24 13:22:53 得分 0

设个变量bFullScreen  
  在Play函数中判断:  
   
  if   (bFullScreen)  
  dwFlags   |=   MCI_MCIAVI_PLAY_FULLSCREEN;  
  mciSendCommand   (m_wDeviceID,   MCI_PLAY,   dwFlags,   (DWORD)(LPVOID)   &PlayParms)  
  Top

2 楼jemmylau(枕头)回复于 2002-05-24 14:56:12 得分 0

不是很明白,我已经打开文件了,现在要全屏,请你将详细点,谢谢Top

3 楼jemmylau(枕头)回复于 2002-05-24 15:26:21 得分 0

MCI_MCIAVI_PLAY_FULLSCREEN  
  有这个参数吗??Top

4 楼pale(态度很重要)回复于 2002-05-24 16:49:19 得分 0

应该是有的,因为我这里有这么一个程序就可以实现全屏  
  但我发现它好象只可以在文件开始播放的时候设置这个参数  
  好象不可以在已经播放了的文件中进行切换  
  我没有仔细分析它是如何实现的  
  但在程序里确实用到了MCI_MCIAVI_PLAY_FULLSCREEN这个参数  
  而且仅此一处用到了  
   
  Top

5 楼jemmylau(枕头)回复于 2002-05-25 01:38:04 得分 0

你的方法我倒没成功  
  我用了另外一种方法  
  MCIWndSendString(h_PlayWnd,"play   fullscreen");  
  绝对可以实现  
   
  请问你另外一个关于视频的问题!http://www.csdn.net/Expert/TopicView1.asp?id=749205  
  Top

6 楼Q_O()回复于 2002-05-25 01:48:46 得分 0

他们说的都是正确的。Top

7 楼hyc1980(???)回复于 2002-05-25 03:12:46 得分 5

可以用directshow做,或者用window mediaplay 控件,调用某个方法我想有的Top

8 楼cvip11(cvip11)回复于 2002-05-25 08:17:15 得分 0

upTop

9 楼programcat2001(旧游以梦)回复于 2002-05-25 08:45:51 得分 5

计算出AVI播放时在视图中的位置,转换成屏幕坐标后,放大到全屏。Top

10 楼jemmylau(枕头)回复于 2002-05-25 14:09:08 得分 0

programcat2001(边城)    
  请问你知道用什么函数能得到播放的视频的宽度和高度吗?Top

11 楼pale(态度很重要)回复于 2002-05-26 13:19:53 得分 10

//获得视频文件窗口的宽度  
  int   CVideo::GetWidth   (void)  
  {  
  if   (m_bOpened){  
  MCI_DGV_WHERE_PARMS   WhereParms;  
  if   (mciSendCommand   (m_wDeviceID,   MCI_WHERE,   MCI_DGV_WHERE_SOURCE,   (DWORD)(LPVOID)   &WhereParms)){  
  return   0;  
  }  
  return   (int)   WhereParms.rc.right;  
  }  
   
  return   0;  
  }  
   
  //获得视频文件窗口的高度  
  int   CVideo::GetHeight   (void)  
  {  
  if   (m_bOpened){  
  MCI_DGV_WHERE_PARMS   WhereParms;  
  if   (mciSendCommand   (m_wDeviceID,   MCI_WHERE,   MCI_DGV_WHERE_SOURCE,   (DWORD)(LPVOID)   &WhereParms)){  
  return   0;  
  }  
  return   (int)   WhereParms.rc.bottom;  
  }  
   
  return   0;  
  }Top

12 楼jemmylau(枕头)回复于 2002-05-26 16:22:39 得分 0

不太明白,能不能解释一下,放到我程序中,全是错误Top

13 楼suzhenhong(一个懂点程序的公务员)回复于 2002-05-26 16:56:58 得分 0

这个问题你可以参考侯先生的<<程序语言>>,很简单Top

14 楼jemmylau(枕头)回复于 2002-05-26 17:29:44 得分 0

我用另外一个方法搞定了  
  h_PlayWnd=MCIWndCreate(....);  
  CRect   p_rect;  
  ::GetWindowRect(h_PlayWnd,&p_rect);  
  谢谢  
  Top

15 楼duwenyong(啸海)回复于 2002-07-27 08:23:10 得分 0

谁知道WMP的全屏是如何实现的?为何全屏后没有马赛克?用什么算法?是不是微软还内置什么不让你知的函数?Top

相关问题

  • 用mcisendstring API函数全屏播放AVI文件怎么没声音啊
  • 用mcisendstring API函数全屏播放AVI和WAV文件怎么没声音啊
  • 在 TMediaPlayer 中播放AVI或者mpeg 文件怎样才能使她全屏播放?
  • 如何全屏播放 MPEG、DAT 文件?
  • 播放.avi文件
  • 用Multimedia控件如何控制它实现全屏播放avi或mpg视频文件
  • 无法播放avi文件?
  • 如何播放AVI文件???????
  • 怎样使MediaPlayer能全屏幕、连续播放多个文件?
  • 如何用MCI全屏播放AVI动画

关键词

  • 文件
  • 函数
  • whereparms
  • mci
  • 全屏
  • dgv
  • 播放
  • playwnd
  • mciavi
  • mcisendcommand

得分解答快速导航

  • 帖主:jemmylau
  • hyc1980
  • programcat2001
  • pale

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

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