VB WindowsMediaPlayer 播放

VB 如何用WindowsMediaPlayer 播放音乐文件,

1:播放指定文件夹内的所有歌曲

2:顺序播放,就是自动下一首。

‘添加windowsmediaplayer控件 一个timer控件即可使用

Option Explicit

Dim list2() As String, B可播放文件数As Integer '可以播放的文件

Dim list() As String '存放所有的文件名

Dim total As Long '文件总个数

Dim now As Long '用来记录当前读取的文件的排序

Private Sub Form_Load()

    Timer1.Interval = 200

    now = 1

    total = 0

    getAll "C:\WINDOWS\Media" '指定音乐文件夹

    '输出文件的个数

    Call F存入可播放文件名

    If B可播放文件数 > 0 Then

        Me.WindowsMediaPlayer1.URL = list2(now)

    Else

        MsgBox "没有音乐文件"

    End If

End Sub

'遍历指定目录下的文件 并将所有的文件名放入数组list

Function getAll(rootF)

    Dim fso As Object, folder As Object, subfolder As Object, file As Object

    Set fso = CreateObject("scripting.filesystemobject") '创建FSO对象

    Set folder = fso.getfolder(rootF) '得到文件夹对象

    For Each subfolder In folder.subfolders '遍历子文件夹

        Call getAll(subfolder) '递归,查找该文件夹的子文件夹

    Next

    For Each file In folder.Files '遍历根文件夹下的文件

        Debug.Print folder

        Debug.Print file '输出文件名

        total = total + 1

        ReDim Preserve list(total) As String

        list(total) = file

    Next

    Set fso = Nothing

    Set folder = Nothing

    Set fso = Nothing

End Function

Function F存入可播放文件名()

    Dim i As Integer

    B可播放文件数 = 0

    For i = 1 To total

        If Right$(list(i), 3) = "mp3" Or Right$(list(i), 3) = "wav" Then

            B可播放文件数 = B可播放文件数 + 1

            ReDim Preserve list2(B可播放文件数)

            list2(B可播放文件数) = list(i)

        End If

    Next

End Function

Private Sub Timer1_Timer()

    If Me.WindowsMediaPlayer1.playState = wmppsStopped Then

        now = now + 1

        If now > B可播放文件数 Then now = 1

        Me.WindowsMediaPlayer1.URL = list2(now)

        Me.WindowsMediaPlayer1.Controls.play

    End If

End Sub
☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆

关于控件WindowsMediaPlayer的几个问题

[基本属性]
URL:string 可以指定媒体位置
enableContextMenu:Boolean 显示/不显示播放位置的右键菜单
fullScreen:boolean 全屏显示
stretchToFit:boolean 非全屏状态时是否伸展到最佳大小
uMode:string 播放器的模式,full:有下面的控制条; none:只有播放部份没有控制条
playState:integer 当前控件状态,下面是三种基本状态:
3:正在播放
2:暂停
1:已停止
状态变化时会触发OnStatusChange事件

[controls]
可通过WindowsMediaPlayer.controls对播放器进行控制并取得相关的一些信息:
controls.play; 播放
controls.stop; 停止
controls.pause; 暂停
controls.currentPosition:Double 当前播放进度
controls.currentPositionString:string 时间格式的字符串 "0:32"

[currentMedia]
可以通过WindowsMediaPlayer.currentMedia取得当前媒体的信息
currentMedia.duration Double 总长度
currentMedia.durationString 时间格式的字符串 "4:34"

[settings]
可以通过WindowsMediaPlayer.settings对播放器进行设置,包括音量和声道等。
settings.volume:integer 音量 (0-100)
settings.balance:integer 声道,通过它应该可以进行立体声、左声道、右声道的控制。但对应的取值尚不清楚

摘自:网络

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值