vb 中用 wmp.dll 控件制作媒体播放器时遇到的几个问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb 中用 wmp.dll 控件制作媒体播放器时遇到的几个问题相关的知识,希望对你有一定的参考价值。
我的毕业设计是用VB做个媒体播放器,用的是WindowsMediaPlayer控件(控件名为wmp.dll)
大家注意一下,不是MCI控件也不是MXDSM控件哈!!!
现在遇到几个问题:
1.载入一个媒体文件后,怎样获取媒体总时间长度?
我试过用wmp.currentMedia.duration和wmp.currentMedia.durationString 显示是时间是0, wmp.currentMedia.getItemInfo("Duration")也不行
2.用WPM控件播放时无法响应KEY_DOWN(我想用空格控制播放暂停)
3.用wmp.settings.balance属性控制左右声道时,可是有些文件行有些不行
4.如何知道视频文件的长宽信息?(找了半天找不到……)
5.wpm控件中是否有前端显示和开关光驱仓门的函数?(我不想用API实现)
6.如何CALL不同窗口的模块,比如我想在FORM2里CALL FORM1中的COMMAND1,如何实现?
7.怎样知道播放是否完成?好象是EndOfStream吧,怎么用?
分数不是问题,重要的是我的毕业设计能按时完成
问题保留10天,谢谢大家帮我^_^
果然播放开了信息都能加载了
第二问我自己解决了:我用的是KEY_DOWN响应的是KEY_CODE事件而不是KEYASCII,惭愧……
第六问……笨了,我居然没想到……
呵呵,说了保留10天的就要做到,至于分数,你放心吧^_^
第一问: 为什么在我这儿就可以呢?(也许是你在播放器播放之前用了这一句,这个属性得用在该控件播放之后,所以我把代码放进这里):
Private Sub wmp_PlayStateChange(ByVal NewState As Long)
If NewState = 3 Then Text1.Text = wmp.currentMedia.durationString
End Sub
第二问: 我用Key_press做了试验,可以的(判断nkeyAscii是否等于32就行了)
第三问: 不会吧,我试了许多类型的文件,但都是可以的。
wmp.settings.balance = -100 '我用的是这一句,把它设成了左声道。
第四问:你指的是视频的原始长宽吧,那么可以用这几句:
wmp.Controls.currentItem.imageSourceHeight '这是原始宽度
wmp.Controls.currentItem.imageSourceWidth '这是原始长度
同理,上述语句必须是在播放器已经开始播放之后才能正常执行。
第五问:据我所知,没有……(十分遗憾)
第六问:把form1中的Private sub command1_click()改成public sub command1_click(),然后就可以在form2中用call form1.command1_click调用它了。
第七问:
Private Sub Wmp_PlayStateChange(ByVal NewState As Long)
If NewState = wmppsMediaEnded Then
Debug.Print "完了"
End If
End Sub
上面这段代码可行!
大哥,字打得这么辛苦,可否送分呢?? 参考技术A 在设计模式下选择WindowsMediaPlayer的“自定义……”可以设置它的相关基本属性,如装载时是否启动它,窗口模式--最大化还是最小化
WindowsMediaPlayer主要用到以下属性:
WindowsMediaPlayer.playState=(1、2、3……)
WindowsMediaPlayer.URL=""(音乐文件路径)
WindowsMediaPlayer.windowlessVideo = True/False
WindowsMediaPlayer1.Close 关闭播放器
我虽不是很懂,但你可以去请教一下其它的电脑公司,他们这知道
该怎么办的~如果不行,试试这个:
设计模式下选择WindowsMediaPlayer的“自定义……”可以设置它的相关基本属性,如装载时是否启动它,窗口模式--最大化还是最小化
WindowsMediaPlayer主要用到以下属性:
WindowsMediaPlayer.playState=(1、2、3……)
WindowsMediaPlayer.URL=""(音乐文件路径)
WindowsMediaPlayer.windowlessVideo = True/False
WindowsMediaPlayer1.Close 关闭播放器
这不行就没办法了~!! 参考技术B 在设计模式下选择WindowsMediaPlayer的“自定义……”可以设置它的相关基本属性,如装载时是否启动它,窗口模式--最大化还是最小化
WindowsMediaPlayer主要用到以下属性:
WindowsMediaPlayer.playState=(1、2、3……)
WindowsMediaPlayer.URL=""(音乐文件路径)
WindowsMediaPlayer.windowlessVideo = True/False
WindowsMediaPlayer1.Close 关闭播放器 参考技术C 我虽不是很懂,但你可以去请教一下其它的电脑公司,他们这知道
该怎么办的~如果不行,试试这个:
设计模式下选择WindowsMediaPlayer的“自定义……”可以设置它的相关基本属性,如装载时是否启动它,窗口模式--最大化还是最小化
WindowsMediaPlayer主要用到以下属性:
WindowsMediaPlayer.playState=(1、2、3……)
WindowsMediaPlayer.URL=""(音乐文件路径)
WindowsMediaPlayer.windowlessVideo = True/False
WindowsMediaPlayer1.Close 关闭播放器
这不行就没办法了~!! 参考技术D 很麻烦的
在vb.net 中使用mediaPlayer控件
在vb.net 中,使用mediaPlayer插件可以制作自己的媒体播放器。以下是相关代码。
’ 设定插件的大小,使用 Size 类
wmp.Size = New Size(wmp.Size.Width, 1519)
wmp.Size = New Size(wmp.Size.Height, 1018)
’ 设定插件的位置,使用 Point 类
wmp.Location = New Point(wmp.Location.X, 23)
wmp.Location = New Point(wmp.Location.Y, 34)
’ 设定播放为循环模式
wmp.settings.setMode(“loop”, True)
’ 设定播放的影片地址
wmp.URL = Application.StartupPath & “\\” & “movie\\电信诈骗微电影\\诈骗情景重现.mp4”
’ 开始播放
wmp.Ctlcontrols.play()
’ 设定播放模式为“屏幕自适应”
wmp.stretchToFit = True
以上是关于vb 中用 wmp.dll 控件制作媒体播放器时遇到的几个问题的主要内容,如果未能解决你的问题,请参考以下文章
VB中用openfiledialog控件打开txt文件的问题