-
vb教程之用VB实现队列播放MP3
队列播放MP3就是在文件列表框中一次选择多个MP3文件,让播放程序顺序地播放选择的MP3文件。这是一般的MP3播放器都有的功能,如何在VB程序设计中来实现队列播放MP3的方法呢?
首先介绍一下程序中要用到的MediaPlayer控件。它不是VB的标准控件,而是Windows操作系统自带的一个多媒体控件。大家可以在VB开发环境中的单击“工程”→“部件”对话框中,添加MediaPlayer控件。如果要播放MP3,则至少要6.01以上版本的MediaPlayer控件(Windows98中自带的就是这个版本)。如果在部件对话框中找不到MicroSoft Mediaplayer Control,那可能是你没有安装附件所致,这需要在系统中安装相应的附件。
正因为使用了Windows自带的控件,所以编出的程序的可移植性很好,更为重要的是,MediaPlayer控件可以播放包括AVI、MOV、WAV、MPG、MP3、M3U、QT等等在内的28种多媒体视频、音频格式的文件,可谓功能强大。
这个程序正是利用了MediaPlayer控件可以播放MP3和M3U文件的特性来实现队列播放MP3的。我再说一下M3U文件,这种文件实际上是ASCII码文件,如果你用记事本打开它,就可以发现文件的内容实际上就是多媒体文件的地址列表,能够播放它的程序会顺序播放文件里列出的多媒体文件。
下面就是程序的实现步骤:
首先建立一个新窗体Form1,添加DriveListBox,DirListBox,FileListBox各一个,Caption属性分别设为Drive1,Dir1和File1,再添加CommandButton以及MediaPlayer控件各一个。然后编写代码如下:
Option Explicit
Private Sub Command1_Click()
Dim num As Integer
Dim filename As String
Dim filenum As Integer
Dim i As Integer
num=File1.ListCount
filenum=FreeFile
Open ″C:\filelist.m3u″ For Output As #filenum
For i=0 To num-1
If File1.Selected(i) Then
filename=File1.Path+″\″+File1.List(i)
End If
Print #filenum,filename
Next
Close #filenum
MediaPlayer1.filename=″C:\filelist.m3u″
End Sub
Private Sub Dir1_Change()
File1.Path=Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path=Drive1.Drive
End Sub
程序在Win98系统中调试通过。使用的时候只要选好MP3歌曲所在的文件夹,在文件框中用Shift或Ctrl键选择多个文件即可实现队列播放。
怎么样,快去编写自己的WinAmp吧。
首先介绍一下程序中要用到的MediaPlayer控件。它不是VB的标准控件,而是Windows操作系统自带的一个多媒体控件。大家可以在VB开发环境中的单击“工程”→“部件”对话框中,添加MediaPlayer控件。如果要播放MP3,则至少要6.01以上版本的MediaPlayer控件(Windows98中自带的就是这个版本)。如果在部件对话框中找不到MicroSoft Mediaplayer Control,那可能是你没有安装附件所致,这需要在系统中安装相应的附件。
正因为使用了Windows自带的控件,所以编出的程序的可移植性很好,更为重要的是,MediaPlayer控件可以播放包括AVI、MOV、WAV、MPG、MP3、M3U、QT等等在内的28种多媒体视频、音频格式的文件,可谓功能强大。
这个程序正是利用了MediaPlayer控件可以播放MP3和M3U文件的特性来实现队列播放MP3的。我再说一下M3U文件,这种文件实际上是ASCII码文件,如果你用记事本打开它,就可以发现文件的内容实际上就是多媒体文件的地址列表,能够播放它的程序会顺序播放文件里列出的多媒体文件。
下面就是程序的实现步骤:
首先建立一个新窗体Form1,添加DriveListBox,DirListBox,FileListBox各一个,Caption属性分别设为Drive1,Dir1和File1,再添加CommandButton以及MediaPlayer控件各一个。然后编写代码如下:
Option Explicit
Private Sub Command1_Click()
Dim num As Integer
Dim filename As String
Dim filenum As Integer
Dim i As Integer
num=File1.ListCount
filenum=FreeFile
Open ″C:\filelist.m3u″ For Output As #filenum
For i=0 To num-1
If File1.Selected(i) Then
filename=File1.Path+″\″+File1.List(i)
End If
Print #filenum,filename
Next
Close #filenum
MediaPlayer1.filename=″C:\filelist.m3u″
End Sub
Private Sub Dir1_Change()
File1.Path=Dir1.Path
End Sub
Private Sub Drive1_Change()
Dir1.Path=Drive1.Drive
End Sub
程序在Win98系统中调试通过。使用的时候只要选好MP3歌曲所在的文件夹,在文件框中用Shift或Ctrl键选择多个文件即可实现队列播放。
怎么样,快去编写自己的WinAmp吧。
最新更新
python爬虫及其可视化
使用python爬取豆瓣电影短评评论内容
nodejs爬虫
Python正则表达式完全指南
爬取豆瓣Top250图书数据
shp 地图文件批量添加字段
爬虫小试牛刀(爬取学校通知公告)
【python基础】函数-初识函数
【python基础】函数-返回值
HTTP请求:requests模块基础使用必知必会
SQL SERVER中递归
2个场景实例讲解GaussDB(DWS)基表统计信息估
常用的 SQL Server 关键字及其含义
动手分析SQL Server中的事务中使用的锁
openGauss内核分析:SQL by pass & 经典执行
一招教你如何高效批量导入与更新数据
天天写SQL,这些神奇的特性你知道吗?
openGauss内核分析:执行计划生成
[IM002]Navicat ODBC驱动器管理器 未发现数据
初入Sql Server 之 存储过程的简单使用
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比