⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 subject_64119.htm

📁 vc
💻 HTM
字号:
<p>
序号:64119 发表者:贾志恒 发表日期:2003-12-08 22:55:52
<br>主题:请教一个activemovie控件的使用
<br>内容:我想播放avi文件时<BR>一开始便是原始大小的二分之一<BR><BR>已经在属性里设置了MovieWindowsize为4 - 4 - 1/2 of screen size<BR>怎么播放avi文件是还是原始大小?<BR>
<br><a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p>
<hr size=1>
<blockquote><p>
回复者:bird 回复日期:2003-12-09 08:46:52
<br>内容:ActiveMovie不仅是一个播放器,同时也是ActiveX套件中的一 个控件,它可以用来播放媒体文件,它支持绝大部分目前通用的媒 体格式,它可以播放Wave、Midi、Avi、MPEG、QuickTime Movie等 格式文件,甚至还可以用它来看影碟。由于它还是个控件,所以可 以在VB或VC的程序中调用它。对它的操作相当简单,只需提供要播 放的文件名就可以用Run、Pause、Stop方法来播放、暂停和停止该 媒体文件了。那么,如何利用微软提供的ActiveMovie控件来创建 媒体文件浏览器呢?在Microsoft Visual Basic 5.0(企业版)环 境下可以轻松地达到这个目的。本文将用一个具体实例手把手地教 你活用ActiveMovie控件。 <BR>  1.程序设计 <BR>  要用ActiveMovie控件创建媒体文件浏览器,并且这个浏览器 应该能同时浏览某个目录中的所有媒体文件,那就需要创建一个文 件浏览系统。这在VB中只需要一个驱动器列表框 (DriverListBox)、一个目录列表框(DirListBox)和一个文件列表 框(FileListBox)就可轻松地完成了,下面就给出其详细的步骤。 <BR>  2.操作步骤 <BR>  (1)启动Microsoft Visual Basic 5.0,创建一个“标准EXE” 的新工程; <BR>  (2)为Form1设置一个合适的宽度、长度,并改变如下属性: <BR>  (名称)= FrmAM <BR>  KeyPreview=Ture <BR>  改变KeyPreview属性是为了让程序能够处理快捷键,这样,无 论当前焦点在哪个控件上,窗体首先截获的是键盘消息; <BR>  (3)选择“工程”菜单中的“部件”命令,在部件对话框中选 中&#34;Microsoft ActiveMovie Control&#34;,单击“确定”按钮,为当前的工具箱添加ActiveMovie控件; <BR>   <BR>  图1. <BR>  (4)这时在“工具箱”中出现&#34;ActiveMovie&#34;控件图标,双击它 以向窗体中添加一个ActiveMovie控件,并将其放置在Form1窗体的 右上方,属性设置如下: <BR>  (名称)=AM1 <BR>  MovieWindowSize=4 <BR>  ShowPositionControls=True <BR>  ShowSelectionControls=True <BR>  这样就可以用ActiveMovie控件所提供的控制按钮来播放媒体 文件了; <BR>  (5)在Form1的左上方放置一个驱动器列表框控件,然后在其下 方添加一个目录列表框控件,紧接着再在其下方放置一个文件列表 框控件,并修改文件列表框的Pattern属性为*.AVI、*.MOV、*. DAT、*.MPG、*.WAV、*.MID、*.QT、*.MPEG,这是因为 ActiveMoive只能接受这些文件类型,这样,文件列表框就只显示 iveMoive能打开的文件了。 <BR>  (6)在Drive1的Change事件中添加如下代码后,当改变驱动器 列表框中的盘符时,目录列表框将随之变动; <BR>  Private Sub Drive1_Change() <BR>   Dir1.Path = Drive1.Drive <BR>  End Sub <BR>  (7)在Dir1的Change事件中添加如下代码后,改变目录列表框 中的目录时,文件列表框中的目录也将随之变动; <BR>  Private Sub Dir1_Change() <BR>   File1.Path = Dir1.Path <BR>  End Sub <BR>  至此,文件浏览系统就创建好了; <BR>  (8)在File1的Click事件中添加如下代码后,用户选中某个文 件时,就会将文件名提供给ActiveMovie控件,并将此文件名显示 在窗体的标题栏中; <BR>  Private Sub File1_Click() <BR>   AM1.filename = <BR>   File1.Path &amp; &#34;\&#34; &amp; File1.filename <BR>   Caption = AM1.filename <BR>  End Sub <BR>  (9)在Form1的KeyDown事件中添加如下代码: <BR>  Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) <BR>  Select Case KeyCode <BR>   Case vbKeySpace <BR>   Select Case AM1.CurrentState <BR>   Case amvStopped <BR>   AM1.Run <BR>   Case amvRunning <BR>   AM1.Pause <BR>   Case amvPaused <BR>   AM1.Run <BR>   End Select <BR>   Case vbKeyA <BR>   If AM1.MovieWindowSize =_ <BR>   amvOneHalfScreen Then <BR>   AM1.FullScreenMode = True <BR>   If AM1.CurrentState = <BR>  amvRunning Then <BR>   AM1.Pause <BR>   AM1.Run <BR>   End If <BR>   End If <BR>   AM1.MovieWindowSize = _ <BR>   IIf(AM1.MovieWindowSize &lt;4,_ <BR>   AM1.MovieWindowSize + 1, 4) <BR>   Case vbKeyS <BR>   AM1.FullScreenMode = False <BR>   AM1.MovieWindowSize =_ <BR>   IIf(AM1.MovieWindowSize &gt; 2, <BR>   AM1.MovieWindowSize - 1, 2) <BR>  End Select <BR>  End Sub <BR>  在本事件中,用KeyCode判断用户按下了什么键,如果是 vbKeySpace(空格键),就用ActiveMovie控件的CurrentState属 性来判断当前的状态;如果是amvStopped或amvPaused,就执行播 放命令AM1.Run;如果是amvRunning,就执行暂停命令AM1.Pause; 如果用户按的是&#34;A&#34;键(vbKeyA),就放大屏幕尺寸。由于 ActiveMovie控件的MovieWindowSize属性的取值2、3、4分别表示 1/16屏幕、1/4屏幕、1/2屏幕,所以,为了放大屏幕,只需在此范 围内将MovieWindowSize的属性值加1即可。当MovieWindowSize的 值已经是4,而用户又按下了&#34;A&#34;键时,就要将播放窗口扩大到全 屏,即把FullScreenMode属性设为True,但这时并不立即生效,还 须执行暂停、再播放的过程。注意,在全屏方式下,窗体将失去输 入焦点,快捷键不再起作用,这时只有单击鼠标左键,才能回到刚 才的状态。如果用户按的是&#34;S&#34;键(vbKeyS),则应将 MovieWindowSize的值减1,并且将FullScreenMode属性设为 False。 <BR>  (10)保存该工程并运行该程序。 <BR>  3.运行结果 <BR>  通过目录和文件列表框选择多媒体文件,然后用ActiveMovie 的播放和暂停键操作,或者用空格键播放和暂停,还可以用&#34;A&#34;和 &#34;S&#34;键调整播放窗口的大小x。 
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
<font color=red>答案被接受</font><br>回复者:bird 回复日期:2003-12-09 08:49:00
<br>内容:以上是转载的vb文章,我没有用过,但看了一下,应该说使用ActiveMovie控件是没问题了!<BR>你仔细检查一下你的程序,看是否有错误!<BR><BR><BR>ps.也可以贴代码上来大家一起看看!
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>
<hr size=1>
<blockquote><p>
回复者:贾志恒 回复日期:2003-12-10 15:22:19
<br>内容:我查了一下msdn<BR>Setting Value Description&nbsp;&nbsp;<BR>amvOriginalSize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0 (Default) Uses the authored size.&nbsp;&nbsp;<BR>amvDoubleOriginalSize&nbsp;&nbsp;1 Increases the image projection size to twice the authored size.&nbsp;&nbsp;<BR>amvOneSixteenthScreen&nbsp;&nbsp;2 Projects the images onto an area the size of one-sixteenth of the screen.&nbsp;&nbsp;<BR>amvOneFourthScreen&nbsp;&nbsp;&nbsp;&nbsp; 3 Projects the images onto an area the size of one-quarter of the screen.&nbsp;&nbsp;<BR>amvOneHalfScreen&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 Projects the images onto an area the size of half of the screen<BR><BR>最后用了<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_ActiveMovie.SetFileName(&#34;xx.avi&#34;);<BR>&nbsp;&nbsp;&nbsp;&nbsp;<BR>&nbsp;&nbsp;&nbsp;&nbsp;m_ActiveMovie.SetMovieWindowSize(2);<BR>搞定了<BR>多谢兄弟<BR>^_^<BR>郁闷了我好几天的问题终于解决了&nbsp;&nbsp;<BR><BR>
<br>
<a href="javascript:history.go(-1)">返回上页</a><br><a href=http://www.copathway.com/cndevforum/>访问论坛</a></p></blockquote>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -