vb.net里如何实现播放视频吗?

wangfeng12345678 2008-03-05 10:15:48
vb.net里如何实现播放视频吗?
...全文
1433 35 打赏 收藏 转发到动态 举报
写回复
用AI写文章
35 条回复
切换为时间正序
请发表友善的回复…
发表回复
zealot79 2010-08-02
  • 打赏
  • 举报
回复
我也需要这块的代码!但是我看不到80分的回复内容!
conannb 2008-03-13
  • 打赏
  • 举报
回复
学习
yanlongwuhui 2008-03-13
  • 打赏
  • 举报
回复

播放:
Private m_oMediaControl As IMediaControl
m_oMediaControl = New FilgraphManager
Call m_oMediaControl.RenderFile("C:\WINDOWS\clock.avi")
m_oMediaControl.Run()
如果还要其它的操作或控制,还得增加以下对象,并进行相关的处理
Private m_oMediaEvent As IMediaEvent
Private m_oMediaPosition As IMediaPosition
Private m_oBasicVideo As IBasicVideo
Private m_oVideoWindow As IVideoWindow
m_oBasicVideo = m_oMediaControl
m_oMediaEvent = m_oMediaControl
m_oMediaPosition = m_oMediaControl
m_oVideoWindow = m_oMediaControl
淡蓝色2 2008-03-12
  • 打赏
  • 举报
回复
[Quote=引用 31 楼 wangfeng12345678 的回复:]
为什么我的VS中的新建项目里没有WPF项目?请不吝赐教
[/Quote]
须使用VS2005+扩展开发支持包
或者直接安装VS 2008
wangfeng12345678 2008-03-12
  • 打赏
  • 举报
回复
楼上这位超高手:为什么我的VS中的新建项目里没有WPF项目?请不吝赐教
wangfeng12345678 2008-03-11
  • 打赏
  • 举报
回复
[Quote=引用 23 楼 yangda821231 的回复:]
最直接在网页里写个加入指定位置视频HTML代码就OK
[/Quote]
不是web。是winFrom开发。
Ninputer 2008-03-11
  • 打赏
  • 举报
回复
注意:WPF是Windows程序开发技术,不是Web的。上述代码你可以在VS中新建WPF项目来做。
Ninputer 2008-03-11
  • 打赏
  • 举报
回复
[code=XAML]<Window x:Class="Window1"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="Window1" Height="300" Width="300">
<Grid>
<MediaElement Source="C:\Users\Public\Videos\Sample Videos\lake.wmv" LoadedBehavior="Play" />
</Grid>
</Window>[/code]

一行代码都不用写
Ninputer 2008-03-11
  • 打赏
  • 举报
回复
拜托,现在是2008年了,用WPF加一个MediaElement就能实现视频播放了。
zengxie 2008-03-08
  • 打赏
  • 举报
回复
在你要播放视频的地方加上下面代码
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,19,0" width="278" height="100">
<param name="movie" value="http://flash.qu123.com/newflash/王心凌—爱的天国.swf" />
<param name="quality" value="high" />
<param name="wmode" value="transparent" />
<embed src="/MovieShow/Navigation/Head.swf" width="820" height="150" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent"></embed>
</object>
Annuowork 2008-03-08
  • 打赏
  • 举报
回复
.NET+ECLIPES
是怎么个用法,能给个例子吗````
tantaiyizu 2008-03-08
  • 打赏
  • 举报
回复
[Quote=引用 21 楼 linlh 的回复:]
14楼真的测试过了吗?
怀疑!
[/Quote]
beijing__2008 2008-03-07
  • 打赏
  • 举报
回复
没接触过 学习中
linlh 2008-03-07
  • 打赏
  • 举报
回复
14楼真的测试过了吗?
怀疑!
lizhengnan 2008-03-07
  • 打赏
  • 举报
回复
没有测试,但方法就是这样的.你看一下吧,那网站应该提供了很多例子呀,里面一定有你想要的.
lizhengnan 2008-03-07
  • 打赏
  • 举报
回复
结你整理一下吧.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim hr As Integer
Dim ev As EventCode

Dim fg As FilterGraph
Dim ifg2 As IFilterGraph2
Dim imc As IMediaControl
Dim ime As IMediaEvent

' Get a filtergraph object
fg = New FilterGraph
ifg2 = DirectCast(fg, IFilterGraph2)

' Get the IMediaControl interface from the fg object
imc = DirectCast(fg, IMediaControl)

' Get the IMediaEvent interface from the fg object
ime = DirectCast(fg, IMediaEvent)

' Build the graph
hr = ifg2.RenderFile("c:\1.avi", Nothing)
DsError.ThrowExceptionForHR(hr)

'---------------------------------------------------------------------------------------
Dim videoWindow As Ivideowindow=ctype(ifg2,Ivideowindow)
'hWin.Handle 你想要设置的播放窗体的HANDLE值,可以是一个PANEL的.
hr = videoWindow.put_Owner( hWin.Handle )
DsError.ThrowExceptionForHR( hr )

hr = videoWindow.put_WindowStyle( WindowStyle.Child | WindowStyle.ClipChildren | WindowStyle.ClipSiblings )
DsError.ThrowExceptionForHR( hr )

'OABool这个数据类型是包括在那个DLL文件里的
hr = videoWindow.put_Visible( OABool.True )
DsError.ThrowExceptionForHR( hr )

'hwin他就是一个FORM或PANEL,你可以改成FORM1.ClientRectangle,这个FORM就是你的播放窗体,和上面的那个HWIN是一个
Dim rc AS Rectangle = hWin.ClientRectangle
hr = videoWindow.SetWindowPosition( 0, 0, rc.Right, rc.Bottom )
DsError.ThrowExceptionForHR( hr )


'---------------------------------------------------------------------------------------

' Run the graph
hr = imc.Run()
DsError.ThrowExceptionForHR(hr)

' Wait for the entire file to finish playing
hr = ime.WaitForCompletion(-1, ev)
DsError.ThrowExceptionForHR(hr)

' Release the graph (and all its interfaces)
Marshal.ReleaseComObject(fg)

End Sub
lizhengnan 2008-03-07
  • 打赏
  • 举报
回复

IVideoWindow videoWindow = m_FilterGraph as IVideoWindow;
hr = videoWindow.put_Owner( hWin.Handle );
DsError.ThrowExceptionForHR( hr );

hr = videoWindow.put_WindowStyle( WindowStyle.Child | WindowStyle.ClipChildren | WindowStyle.ClipSiblings );
DsError.ThrowExceptionForHR( hr );

hr = videoWindow.put_Visible( OABool.True );
DsError.ThrowExceptionForHR( hr );

Rectangle rc = hWin.ClientRectangle;
hr = videoWindow.SetWindowPosition( 0, 0, rc.Right, rc.Bottom );
DsError.ThrowExceptionForHR( hr );
wangfeng12345678 2008-03-07
  • 打赏
  • 举报
回复
COPY了一下lizhengnan上面的代码,用了一下感觉很不错。只是看不太懂DirectShowLib,也不明白代码里的一些声明到底是做什么用的?而且点击button后是弹出一个窗口播放视频,怎样能在当前窗口播放视频呢?不知哪位高手可以注释一下。

向楼上各位兄弟致敬!!!

分不够我再加!!!!
菜鸟A队 2008-03-07
  • 打赏
  • 举报
回复
最直接在网页里写个加入指定位置视频HTML代码就OK
yuanqh20000065 2008-03-06
  • 打赏
  • 举报
回复
不错,我试过了!对于我们学习者很有帮助,顶一下!!
加载更多回复(15)

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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