找回密码
 加入
搜索
查看: 9176|回复: 21

用GUI控制IE调用WMP来播放视频的讨论!

 火.. [复制链接]
发表于 2009-11-27 15:46:50 | 显示全部楼层 |阅读模式
本帖最后由 hzxymkb 于 2009-11-27 15:58 编辑

用GUI调用WMP,就是不用调整.OCX的默认大小,我想根据au3加载wmplayer例子.这个例子来实现,但是不知道怎么用GUI来控制WMP播放某个文件!
我把源码发上来!大家帮我改 一下!

#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
_IEErrorHandlerRegister ()
$MTV = _IECreateEmbedded ()
Dim $text = "", $Dir = ""
Dim $message = "请选择视频文件"
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("au3加载wmplayer例子", 530, 460, -1,-1)
$GUIActive = GUICtrlCreateObj($MTV, 0, 0, 530,420)
$Button1 = GUICtrlCreateButton("打开文件", 80, 430, 75, 25)
$Button2 = GUICtrlCreateButton("退出", 400, 430, 75, 25)
_IENavigate ($MTV, @ScriptDir & "\MTV.html")
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                case $Button2
                        Exit
                Case $Button1
                $text = FileOpenDialog($message, $Dir & "", "文件 (*.avi;*.mpg)", 4)
        EndSwitch
WEnd

HTM源码:直接复制到记事本,另存为MTV.htm就可以了!

<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="480" height="385">
<param name="AudioStream" value="-1" />
<param name="AutoSize" value="-1" />
<!--是否自动调整播放大小-->
<param name="AutoStart" value="-1" />
<!--是否自动播放-->
<param name="AnimationAtStart" value="-1" />
<param name="AllowScan" value="-1" />
<param name="AllowChangeDisplaySize" value="-1" />
<param name="AutoRewind" value="0" />
<param name="Balance" value="0" />
<!--左右声道平衡,最左-9640,最右9640-->
<param name="BaseURL" value />
<param name="BufferingTime" value="15" />
<!--缓冲时间-->
<param name="CaptioningID" value />
<param name="ClickToPlay" value="-1" />
<param name="CursorType" value="0" />
<param name="CurrentPosition" value="0" />
<!--当前播放进度 -1 表示不变,0表示开头 单位是秒,比如10表示从第10秒处开始播放,值必须是-1.0或大于等于0-->
<param name="CurrentMarker" value="0" />
<param name="DefaultFrame" value />
<param name="DisplayBackColor" value="0" />
<param name="DisplayForeColor" value="16777215" />
<param name="DisplayMode" value="2" />
<param name="DisplaySize" value="2" />
<!--视频1-50%, 0-100%, 2-200%,3-全屏 其它的值作0处理,小数则采用四舍五入然后按前的处理-->
<param name="Enabled" value="-1" />
<param name="EnableContextMenu" value="0" />
<!-是否用右键弹出菜单控制-->
<param name="EnablePositionControls" value="-1" />
<param name="EnableFullScreenControls" value="-1" />
<param name="EnableTracker" value="0" />
<!--是否允许拉动播放进度条到任意地方播放-->
<param name="Filename" value="MTV.mpg" valuetype="ref" />
<!--播放文件地址 -->
<param name="InvokeURLs" value="-1" />
<param name="Language" value="-1" />
<param name="Mute" value="0" />
<!--是否静音-->
<param name="PlayCount" value="10" />
<!--重复播放次数,0为始终重复-->
<param name="PreviewMode" value="-1" />
<param name="Rate" value="1" />
<!--播放速度1.0-2.0倍的速度播放-->
<param name="SAMILang" value />
<param name="SAMIStyle" value />
<param name="SAMIFileName" value />
<!--选择同时播放(伴音)的歌曲-->
<param name="SelectionStart" value="-1" />
<param name="SelectionEnd" value="-1" />
<param name="SendOpenStateChangeEvents" value="-1" />
<param name="SendWarningEvents" value="-1" />
<param name="SendErrorEvents" value="-1" />
<param name="SendKeyboardEvents" value="0" />
<param name="SendMouseClickEvents" value="0" />
<param name="SendMouseMoveEvents" value="0" />
<param name="SendPlayStateChangeEvents" value="-1" />
<param name="ShowCaptioning" value="0" />
<!--是否显示字幕,为一块黑色,下面会有一大块黑色,一般不显示-->
<param name="ShowControls" value="-1" />
<!--是否显示控制,比如播放,停止,暂停-->
<param name="ShowAudioControls" value="-1" />
<!--是否显示音量控制-->
<param name="ShowDisplay" value="0" />
<!--显示节目信息,比如版权等-->
<param name="ShowGotoBar" value="0" />
<!--一条框,在下面,有往下箭头-->
<param name="ShowPositionControls" value="-1" />
<!--是否显示往前往后及列表,如果显示一般也都是灰色不可控制-->
<param name="ShowStatusBar" value="-1" />
<!--当前播放信息,显示是否正在播放,及总播放时间和当前播放到的时间-->
<param name="ShowTracker" value="-1" />
<!--是否显示当前播放跟踪条,即当前的播放进度条-->
<param name="TransparentAtStart" value="-1" />
<param name="VideoBorderWidth" value="0" />
<!--显示部的宽部,如果小于视频宽,则最小为视频宽,或者加大到指定值,并自动加大高度.此改变只改变四周的黑框大小,不改变视频大小-->
<param name="VideoBorderColor" value="0" />
<!--显示黑色框的颜色, 为RGB值,比如ffff00为黄色-->
<param name="VideoBorder3D" value="0" />
<param name="Volume" value="0" />
<!--音量大小,负值表示是当前音量的减值,值自动会取绝对值,最大为0,最小为-9640,最大0-->
<param name="WindowlessVideo" value="0" />
<!--如果是0可以允许全屏,否则只能在窗口中查看-->
</object> <br />
<script language=vbscript>for each obj in document.MediaPlayer1.all
messagebox(obj)
next
</script>


直接帖上来!省得下载附件要钱!

本人文字表达能力不行!懂得意思就可以了!
<param name="Filename" value="MTV.mpg" valuetype="ref" />

红色部分是文件的路径!

我的想法就是要把GUI获得的文件的路径传到红色部分来!

除了这个方法,高手们还有其他的方法吗?

评分

参与人数 1金钱 +10 收起 理由
felix2000 + 10 强。

查看全部评分

 楼主| 发表于 2009-11-28 09:46:19 | 显示全部楼层
顶起来!看看有没有人知道!
发表于 2009-11-28 13:11:27 | 显示全部楼层
把那行改成需要的mtv,html,再用_IENavigate 载入

评分

参与人数 1金钱 +20 贡献 +1 收起 理由
hzxymkb + 20 + 1 谢谢您帮我顶起来!

查看全部评分

发表于 2009-11-28 14:06:42 | 显示全部楼层
直接写进body里
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
#include <IE.au3>
_IEErrorHandlerRegister ()
$MTV = _IECreateEmbedded ()
Dim $text = "", $Dir = ""
Dim $message = "请选择视频文件"
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("au3加载wmplayer例子", 530, 460, -1,-1)
$GUIActive = GUICtrlCreateObj($MTV, 0, 0, 530,420)
$Button1 = GUICtrlCreateButton("打开文件", 80, 430, 75, 25)
$Button2 = GUICtrlCreateButton("退出", 400, 430, 75, 25)
_IENavigate ($MTV, "about:blank")
_IEBodyWriteHTML ($MTV, _Html(""))
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
                Case $GUI_EVENT_CLOSE
                        Exit
                case $Button2
                        Exit
                Case $Button1
                $text = FileOpenDialog($message, $Dir & "", "文件 (*.avi;*.mpg)", 4)
                                _IEBodyWriteHTML ($MTV, _Html($text))
        EndSwitch
WEnd
Func _Html($_FileName)        
$_html_String='<object classid="clsid:22D6F312-B0F6-11D0-94AB-0080C74C7E95" id="MediaPlayer1" width="480" height="385"> ' & _
                        '<param name="AudioStream" value="-1" /> ' & _
                        '<param name="AutoSize" value="-1" /> ' & _
                        '<!--是否自动调整播放大小--> ' & _
                        '<param name="AutoStart" value="-1" /> ' & _
                        '<!--是否自动播放--> ' & _
                        '<param name="AnimationAtStart" value="-1" /> ' & _
                        '<param name="AllowScan" value="-1" /> ' & _
                        '<param name="AllowChangeDisplaySize" value="-1" /> ' & _
                        '<param name="AutoRewind" value="0" /> ' & _
                        '<param name="Balance" value="0" /> ' & _
                        '<!--左右声道平衡,最左-9640,最右9640--> ' & _
                        '<param name="BaseURL" value /> ' & _
                        '<param name="BufferingTime" value="15" /> ' & _
                        '<!--缓冲时间--> ' & _
                        '<param name="CaptioningID" value /> ' & _
                        '<param name="ClickToPlay" value="-1" /> ' & _
                        '<param name="CursorType" value="0" /> ' & _
                        '<param name="CurrentPosition" value="0" /> ' & _
                        '<!--当前播放进度 -1 表示不变,0表示开头 单位是秒,比如10表示从第10秒处开始播放,值必须是-1.0或大于等于0--> ' & _
                        '<param name="CurrentMarker" value="0" /> ' & _
                        '<param name="DefaultFrame" value /> ' & _
                        '<param name="DisplayBackColor" value="0" /> ' & _
                        '<param name="DisplayForeColor" value="16777215" /> ' & _
                        '<param name="DisplayMode" value="2" /> ' & _
                        '<param name="DisplaySize" value="2" /> ' & _
                        '<!--视频1-50%, 0-100%, 2-200%,3-全屏 其它的值作0处理,小数则采用四舍五入然后按前的处理--> ' & _
                        '<param name="Enabled" value="-1" /> ' & _
                        '<param name="EnableContextMenu" value="0" /> ' & _
                        '<!-是否用右键弹出菜单控制--> ' & _
                        '<param name="EnablePositionControls" value="-1" /> ' & _
                        '<param name="EnableFullScreenControls" value="-1" /> ' & _
                        '<param name="EnableTracker" value="0" /> ' & _
                        '<!--是否允许拉动播放进度条到任意地方播放--> ' & _
                        '<param name="Filename" value="' & $_FileName & '" valuetype="ref" />' & _
                        '<!--播放文件地址 --> ' & _
                        '<param name="InvokeURLs" value="-1" /> ' & _
                        '<param name="Language" value="-1" /> ' & _
                        '<param name="Mute" value="0" /> ' & _
                        '<!--是否静音--> ' & _
                        '<param name="PlayCount" value="10" /> ' & _
                        '<!--重复播放次数,0为始终重复--> ' & _
                        '<param name="PreviewMode" value="-1" /> ' & _
                        '<param name="Rate" value="1" /> ' & _
                        '<!--播放速度1.0-2.0倍的速度播放--> ' & _
                        '<param name="SAMILang" value /> ' & _
                        '<param name="SAMIStyle" value /> ' & _
                        '<param name="SAMIFileName" value /> ' & _
                        '<!--选择同时播放(伴音)的歌曲--> ' & _
                        '<param name="SelectionStart" value="-1" /> ' & _
                        '<param name="SelectionEnd" value="-1" /> ' & _
                        '<param name="SendOpenStateChangeEvents" value="-1" /> ' & _
                        '<param name="SendWarningEvents" value="-1" /> ' & _
                        '<param name="SendErrorEvents" value="-1" /> ' & _
                        '<param name="SendKeyboardEvents" value="0" /> ' & _
                        '<param name="SendMouseClickEvents" value="0" /> ' & _
                        '<param name="SendMouseMoveEvents" value="0" /> ' & _
                        '<param name="SendPlayStateChangeEvents" value="-1" /> ' & _
                        '<param name="ShowCaptioning" value="0" /> ' & _
                        '<!--是否显示字幕,为一块黑色,下面会有一大块黑色,一般不显示--> ' & _
                        '<param name="ShowControls" value="-1" /> ' & _
                        '<!--是否显示控制,比如播放,停止,暂停--> ' & _
                        '<param name="ShowAudioControls" value="-1" /> ' & _
                        '<!--是否显示音量控制--> ' & _
                        '<param name="ShowDisplay" value="0" /> ' & _
                        '<!--显示节目信息,比如版权等--> ' & _
                        '<param name="ShowGotoBar" value="0" /> ' & _
                        '<!--一条框,在下面,有往下箭头--> ' & _
                        '<param name="ShowPositionControls" value="-1" /> ' & _
                        '<!--是否显示往前往后及列表,如果显示一般也都是灰色不可控制--> ' & _
                        '<param name="ShowStatusBar" value="-1" /> ' & _
                        '<!--当前播放信息,显示是否正在播放,及总播放时间和当前播放到的时间--> ' & _
                        '<param name="ShowTracker" value="-1" /> ' & _
                        '<!--是否显示当前播放跟踪条,即当前的播放进度条--> ' & _
                        '<param name="TransparentAtStart" value="-1" /> ' & _
                        '<param name="VideoBorderWidth" value="0" /> ' & _
                        '<!--显示部的宽部,如果小于视频宽,则最小为视频宽,或者加大到指定值,并自动加大高度.此改变只改变四周的黑框大小,不改变视频大小--> ' & _
                        '<param name="VideoBorderColor" value="0" /> ' & _
                        '<!--显示黑色框的颜色, 为RGB值,比如ffff00为黄色--> ' & _
                        '<param name="VideoBorder3D" value="0" /> ' & _
                        '<param name="Volume" value="0" /> ' & _
                        '<!--音量大小,负值表示是当前音量的减值,值自动会取绝对值,最大为0,最小为-9640,最大0--> ' & _
                        '<param name="WindowlessVideo" value="0" /> ' & _
                        '<!--如果是0可以允许全屏,否则只能在窗口中查看--> ' & _
                        '</object> <br />' & _
                        '<script language=vbscript>for each obj in document.MediaPlayer1.all ' & _
                        'messagebox(obj) ' & _
                        'next ' & _
                        '</script> ' 
Return $_html_String
EndFunc

评分

参与人数 3金钱 +50 贡献 +15 收起 理由
felix2000 + 10 强啊。
hzxymkb + 20 + 5 谢谢您帮我解决问题!真的太您谢谢了!!!
afan + 20 + 10

查看全部评分

发表于 2010-2-28 12:17:14 | 显示全部楼层
高手多啊。 初学者,我向你们学习学习。
发表于 2010-2-28 12:21:46 | 显示全部楼层
bing614高手 ,我直接复制的,怎么编译出错啊。
发表于 2010-3-1 12:31:05 | 显示全部楼层
又学一招,谢谢。。
发表于 2010-3-14 20:49:59 | 显示全部楼层
还没这水平
 楼主| 发表于 2010-3-15 10:06:26 | 显示全部楼层
回复 6# felix2000
他的程序不可能编译出错的!你用的是什么版本?
发表于 2010-3-15 13:00:51 | 显示全部楼层
新手学习中!!谢谢
发表于 2010-4-18 02:59:24 | 显示全部楼层
新手学习中!!谢谢
发表于 2010-6-2 11:30:32 | 显示全部楼层
学习- -
发表于 2010-6-19 15:32:08 | 显示全部楼层
一个新手学习中!!谢谢
发表于 2010-6-24 15:34:34 | 显示全部楼层
好东西啊,,感谢分享
发表于 2010-9-17 09:47:48 | 显示全部楼层
本帖最后由 My2009 于 2010-9-17 09:52 编辑

双击时播放画面就跳出来了,有解决的办法不让其跳出来吗?另还有就是能个个暂停的命令吗?现在只能点内嵌播放器的暂停键,不方便!
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-12-24 03:48 , Processed in 0.293122 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表