
正文
包含vb.netwmp的词条
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
关于VB.NET的WindowsMediaPlayer控件的问题
思路很重要,我以前做过,上一曲下一曲,这个控件有自带的,顺序的话就是判断是否到音乐帧的尾端,如果是,就指向下一曲,循环的话有单曲和全部,也是比较简单,同顺序,至于随机播放的话,我当时是用随机数解决的,就是计算列表中有多少首歌曲,计算之后,进行随机产生一个数字,用该数字定位歌曲,进行播放
相关问答
Q1: vb.net wmp控件如何释放内存,无法删除正在播放的文件
vb.net有垃圾回收机制,一般不用自己清理内存,对象用完后用dispose方法释放就行了,文件打开状态当然无法删除.
Q2: vb.net如何添加wmp控件?
我用的是vb,应该是差不多的吧。
添加一个播放器好象不行,只能通过自定义按键来交互
在工程里面有引用,在列表里找到windows media player控件,勾选即可。主要方法网上会有的
希望可以帮到你
Q3: vb.net中WMP一直被触发的事件是什么?
没明白题主的意思,播放过程中一直被触发的事件?为啥会一直触发呢?wmp_PlayStateChange 是播放状态改变的事件,就是播放、暂停、停止,没有播放过程中一直触发的事件。
如果是进度条的话,wmp.currentMedia.duration 为歌曲总长度,wmp.Ctlcontrols.currentPosition 为目前播放的进度,你可以设置进度条的最大值为歌曲总长度,然后用计时器不断设置进度条的Value 值为 wmp.Ctlcontrols.currentPosition 就好了啊。
Q4: vb.net如何做一个视频进度条,我用的wmp控件,但因为外观得把原来的进度条隐藏了,有没有方法做
public static boolean isNumeric(String str){
for (int i = str.length();--i=0;){
if (!Character.isDigit(str.charAt(i))){
return false;
}
}
return true;
}
Q5: 用VB.NET编多媒体播放器
我这里有一段前段时间写的测试代码,使用WMPLib类,中间有你需要的功能,你可以参考下:
使用wmp.currentMedia.duration和wmp.currentMedia.durationString分别以double和string获得当前媒体的播放时间,使用wmp.settings.volume设置音量大小,使用wmp.controls.currentPosition设置当前播放时间点
Imports WMPLib
Public Class FrmMain
Dim WithEvents wmp As WMPLib.WindowsMediaPlayer
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
wmp = New WMPLib.WindowsMediaPlayer()
TextBox1.Text = TextBox1.Text vbCrLf "当前播放状态:" wmp.status
wmp.uiMode = "Mini"
wmp.settings.balance = 1
wmp.enableContextMenu = True
wmp.fullScreen = False
wmp.windowlessVideo = True
wmp.enabled = True
Dim wmpMediaList As IWMPPlaylist = wmp.newPlaylist("默认播放列表", "")
Dim wmpMedia As IWMPMedia = wmp.newMedia(My.Computer.FileSystem.CurrentDirectory "\Human.mp3")
With wmpMediaList
.appendItem(wmpMedia)
End With
'wmp.URL = "\\192.168.1.247\sharoncn\music\Human.mp3"
wmp.currentMedia = wmpMedia
wmp.settings.autoStart = True
tBarPlay.Value = 0
ListBox1.Items.Add(wmpMediaList.name)
ListBox1.SelectedIndex = 0
ListBox2.Items.Add(wmpMediaList.Item(0).name)
ListBox2.SelectedIndex = 0
tbar.Maximum = 100
tbar.Value = 50
Timer1.Enabled = True
Timer1.Interval = 100
End Sub
Private Sub wmp_PlayStateChange(ByVal NewState As Integer) Handles wmp.PlayStateChange
tBarPlay.Maximum = wmp.currentMedia.duration * 10
Label1.Text = "总时间:" wmp.currentMedia.durationString
TextBox1.Text = TextBox1.Text vbCrLf "当前播放状态:" NewState
If NewState = 1 Then
wmp.controls.play()
End If
End Sub
Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
TextBox1.SelectionStart = Len(TextBox1.Text)
TextBox1.ScrollToCaret()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Label2.Text = "当前播放进度:" wmp.controls.currentPositionString
tBarPlay.Value = CInt(wmp.controls.currentPosition * 10)
End Sub
Private Sub tbar_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tbar.Scroll
wmp.settings.volume = tbar.Value
End Sub
Private Sub tBarPlay_Scroll(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles tBarPlay.Scroll
wmp.controls.currentPosition = tBarPlay.Value / 10
End Sub
End Class








