用GUI控制IE调用WMP来播放视频的讨论!
本帖最后由 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获得的文件的路径传到红色部分来!
除了这个方法,高手们还有其他的方法吗? 顶起来!看看有没有人知道! 把那行改成需要的mtv,html,再用_IENavigate 载入 直接写进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
高手多啊。 初学者,我向你们学习学习。 bing614高手 ,我直接复制的,怎么编译出错啊。 又学一招,谢谢。。 还没这水平 回复 6# felix2000
他的程序不可能编译出错的!你用的是什么版本? 新手学习中!!谢谢 新手学习中!!谢谢 学习- -:face (21): 一个新手学习中!!谢谢 好东西啊,,感谢分享 本帖最后由 My2009 于 2010-9-17 09:52 编辑
双击时播放画面就跳出来了,有解决的办法不让其跳出来吗?另还有就是能个个暂停的命令吗?现在只能点内嵌播放器的暂停键,不方便!
页:
[1]
2