VB WindowsMediaPlayer 播放

这篇博客介绍了如何在VB中使用WindowsMediaPlayer控件播放指定文件夹内的音乐文件,包括顺序播放功能。通过遍历文件夹获取MP3和WAV文件,并利用控件的属性和方法实现播放控制。

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 声道,通过它应该可以进行立体声、左声道、右声道的控制。但对应的取值尚不清楚

摘自:网络

 
  

VB相关


VB 释放资源文件到指定目录函数

VB 读取资源文件里面的字符串

VB中资源文件.res的使用方法详解

VB6.0中创建和使用文本资源文件

VB WindowsMediaPlayer 播放

vbWindowsMediaPlayer的常用属性和方法

VB Environ系统环境变量函数大全

VB 去除文本框粘贴功能

VB LISTBOX

VB 删除数组中的重复元素

VB数组快速排序算法

关于三个概念:ActiveXOLECOM

VB 获得磁盘的文件系统

VB中用API实现文件拖放

加密算法-MD5算法

VB中使用MD5算法

VB 全局热键HOOK (不占系统资源版本)

VB 小技巧自定义TextBox文本框右键菜单

VB 写下载者代码

VB 一行代码的诀窍

VBS教程-wscript对象

vb枚举进程

VB中如何让线程或进程在指定的CPU上运行

VB判断指定的WORD文档是否被打开

VB如何读取快捷方式的目标路径

VBAPI控制输入法状态

为系统加载右键注册控件选项【VB 注册控件】

VB如何根据窗口标题获得进程名称

VB快速查找大型文件中包含的字符串

VB实现可执行文件运行时自删除

VB 打开txt,bat,jpg 任意后缀程序

VB 写文件关联程序

VB 自启动建立右键菜单

VB 判断IP能否ping

VB FTP操作类(可上传、下载、创建文件夹等等)

VB部分文件汇总B

Vb 求素数最经典的方法也是最快的方法

vb用数组方式快速导出MSFlexGrid表格数据到Excel表格中

VBMsFlexGrid控件的使用细则

点击MSFlexGrid数据控件的标题进行数据排序

VB 获取鼠标坐标

VBNEW的用法(申请内存空间)

VB CreateObject函数

VB中的New CreateObject的区别

VB ListBox 添加不重复的值

VB 单击ListView控件某列表头进行排序

VB 简单实现简体与繁体互转

VB 阿拉伯数字转换为中文大写数值函数

VB 获取Textbox文本框中的行数函数


更多精彩>>>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值