请教如何在表单中播放视频

xld2001 2017-02-05 08:40:45
要能适应不同分辨率的视频,谢谢
...全文
1018 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xld2001 2017-04-29
  • 打赏
  • 举报
回复
老师我的播放窗口会根据视频变大,不固定,不知这个设置那个参数才能固定大小?
十豆三 2017-04-28
  • 打赏
  • 举报
回复
WMPlayer.OCX 是微软的Windows Media Player 播放器,目标机器上安装这个播放器即可。
xld2001 2017-04-28
  • 打赏
  • 举报
回复
谢谢老师,我对代码不熟,我使用表单直接加入控件,但播放时会根据视频变大,不固定,不知这个烟设置那个参数?编译后在其他机器上使用,上否要把WMPlayer.OCX控件放到文件夹,但我没有找到?谢谢
十豆三 2017-03-15
  • 打赏
  • 举报
回复
VFP调用Windows Media Player控件播放音乐、视频等(控件文件:wmp.dll ProgID:WMPlayer.OCX)

*------------------------------------------------------------------------------

*--VFP调用Windows Media Player控件播放音乐、视频等
*--控件名称:Windows Media Player
*--控件文件名:wmp.dll
*--控件ProgID:WMPlayer.OCX
*--运行环境:VFP8及以上

*MyPlayer("F:\test.mp3")

*MyPlayer("D:\test.rmvb")

Procedure MyPlayer(tcURL, tnDrive)
	Local loError, loCD
	If Vartype(tcURL)#"C" Or Empty(tcURL)
		* Sample URL
		tcURL = "http://radio.livephish.com:8000"
	Endif
	If Type("_SCREEN.oWMP")#"O"
		_Screen.AddObject("oWMP","WMPContainer")
		With _Screen.oWMP
			.Height = _Screen.Height
			.Width = _Screen.Width
			.Visible=.T.
		Endwith
	Endif
	If Upper(tcURL)=="CD"
		If tnDrive = -1
			Return
		Endif
		loCD = _Screen.oWMP.oleWMP.cdromCollection.Item(tnDrive)
		_Screen.oWMP.oleWMP.currentPlaylist = loCD.Playlist
	Else
		_Screen.oWMP.oleWMP.url = tcURL
	Endif
Endproc

*---------- CLASSES ----------------------------------

Define Class WMPContainer As Container
	oWMPToolBar = Null
	Add Object oleWMP As OleControl With OleClass = 'WMPlayer.OCX' &&用到的文件为wmp.dll,名称Windows Media Player(C:\WINDOWS\system32\)
	Add Object tmrWMP1 As tmrWMP
	Procedure Init
		This.oleWMP.Width = This.Width+400
		This.oleWMP.Height = This.Height+300
		This.oWMPToolBar = Newobject('WMPToolBar', Sys(16), Null, This)
		This.oWMPToolBar.Visible = .T.
	Endproc
	Procedure Release
		_Screen.LockScreen = .T.
		This.RemoveObject('oleWMP')
		Release This
		_Screen.LockScreen = .F.
	Endproc
	Procedure oleWMP.DoubleClick(p1,p2,p3,p4)
		This.Visible = .F.
		This.Parent.Visible = .F.
		This.Parent.oWMPToolBar = Null
		This.Parent.tmrWMP1.Enabled = .T.
	Endproc
Enddefine

*--------------------------------------------

Define Class WMPToolBar As Toolbar
	ShowTips = .T.
	Caption = 'Fox Media Player'
	WMPContainer = Null
	Add Object CmdClose As CommandButton With ToolTipText = 'Close Fox Media Player', ;
		Picture = Home() + 'tools\test\close.bmp', SpecialEffect = 2, Height = 22, Width = 140
	Procedure Init(WMPContainer As Object)
		This.WMPContainer = WMPContainer
	Endproc
	Procedure CmdClose.Click
		This.Parent.WMPContainer.oleWMP.DoubleClick()
	Endproc
Enddefine

*--------------------------------------------

Define Class tmrWMP As Timer
	Interval = 500
	Enabled = .F.
	Procedure Timer
		This.Parent.Release()
	Endproc
Enddefine
xld2001 2017-03-09
  • 打赏
  • 举报
回复
请问调用能显示在表单中吗?如何做?谢谢
十豆三 2017-02-18
  • 打赏
  • 举报
回复
什么 需求非要做一个?现成的一堆一堆的。 而且有些可能直接调用,如暴风影音。
shichanggeng 2017-02-14
  • 打赏
  • 举报
回复
同求,我自己想做一个资源播放器。。

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧