VB如何播放背景音乐
- 格式:doc
- 大小:27.50 KB
- 文档页数:7
Private Sub Command1_Click()'添加 Microsoft Windows Common Controls 部件'第一次播放= + "\"= "open"= "play"End SubPrivate Sub Command2_Click()'重新播放= "close"= "open"= "play"End SubPrivate Sub Command3_Click()'添加 Microsoft Media Player部件点击一次播放一次 = + "\"End Sub不用ActiveX控件也能播放声音文件讲一下代码保存至moduleOption ExplicitPublic Declare Function sndPlaySound Lib "" Alias _ "sndPlaySoundA" (ByVal lpszSoundName As String, _ByVal uFlags As Long) As LongConst SND_SYNC = &H0Const SND_ASYNC = &H1Const SND_NODEFAULT = &H2Const SND_LOOP = &H8Const SND_NOSTOP = &H10接下来把下面的代码粘贴到你想播放声音文件的地方,比如放在命令按钮的Click事件中Dim sFlags As LongsFlags = SND_ASYNC Or SND_NODEFAULTsndPlaySound "", sFlags把上面的换成你想要播放的声音文件的完整路径及文件名就行了。
VB如何播放背景音乐弟代码较多你可以给出邮箱吗?我直接发给你源码。
不过如果你不需要所有的功能你可以参考下面的代码。
只是部分,因为还有一个模块没有。
Dim ier As BooleanPrivate Sub Command1_Click()If Command1.Caption = "暂停播放" Then WindowsMediaPlayer1.Controls.pauseCommand1.Caption = "接着播放"ipause.Caption = "接着播放"ElseIf Command1.Caption = "接着播放" Then WindowsMediaPlayer1.Controls.playCommand1.Caption = "暂停播放"ipause.Caption = "暂停播放"End IfEnd SubPrivate Sub Command2_Click()Call rPlayMusicEnd SubPrivate Sub Command3_Click()'播放下一首If File1.ListIndex < File1.ListCount - 1 ThenFile1.ListIndex = File1.ListIndex + 1ElseIf File1.ListIndex = File1.ListCount - 1 ThenFile1.ListIndex = 0End IfCall play(File1.Path & "\" & File1.FileName)End SubPrivate Sub Command4_Click()Me.HideEnd SubPrivate Sub File1_DblClick()Call play(App.Path & "\music\" & File1.FileName) End SubPrivate Sub Form_Load()'添加托盘图标Call AddIcon'label1动态初始化ier = True'播放器处理WindowsMediaPlayer1.uiMode = "invisible"WindowsMediaPlayer1.Controls.stop'播放文件夹处理On Error Resume Next '避开错误处理直接生成music文件甲MkDir (App.Path & "\music")'定义当前音乐文件播放地址用filelist直接取得File1.Path = App.Path & "\music"'随机播放音乐Call rPlayMusicEnd SubPrivate Sub rPlayMusic()Dim i As IntegerRandomizei = Int(Rnd * File1.ListCount) '取得一个属于音乐文件的标识File1.ListIndex = iCall play(File1.Path & "\" & File1.FileName) '播放路径名中音乐文件End SubPrivate Sub play(mPlay As String)WindowsMediaPlayer1.Controls.stop WindowsMediaPlayer1.URL = mPlay WindowsMediaPlayer1.Controls.playa = Split(mPlay, "\")a = a(UBound(a))Label1.Caption = "现在正在播放:" & a ier = TrueEnd SubPrivate Sub Form_Unload(Cancel As Integer) Call DelIcon '删除托盘图标WindowsMediaPlayer1.Controls.stop Unload MeEnd SubPrivate Sub iend_Click()Unload MeEnd SubPrivate Sub inext_Click()Call Command3_ClickEnd SubPrivate Sub ipause_Click()Call Command1_ClickEnd SubPrivate Sub irplaymusic_Click()Call Command2_ClickEnd SubPrivate Sub ishowme_Click()Me.ShowEnd SubPrivate Sub Timer1_Timer()'用于进行动态状态栏If ier = True ThenLabel1.Caption = " " & Label1.Captionier = FalseElseIf er = False ThenLabel1.Caption = Right$(Label1.Caption,Len(Label1.Caption) - 3)ier = TrueEnd If'用于判断是否已经播放完成播放完成就随机播放一首If WindowsMediaPlayer1.playState = 1 Then Call rPlayMusic '也可以播放下一首if WindowsMediaPlayer1.playstate=1 then call command3_clickEnd SubPrivate Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)'气泡单击时的鼠标事件Dim cEvent As SinglecEvent = X / Screen.TwipsPerPixelXSelect Case cEventCase MouseMove'Debug.Print "MouseMove"Case LeftUp' Debug.Print "左键放开"Case LeftDown' Debug.Print "左键按下"Case LeftDbClick' Debug.Print "左键双击"Form1.WindowState = 0Form1.ShowCase MiddleUp' Debug.Print "中间键放开"Case MiddleDown' Debug.Print "中间键按下"Case MiddleDbClick' Debug.Print "中间键单击"Case RightUp' Debug.Print "右健放开"Case RightDown' Debug.Print "右健按下"Me.PopupMenu Me.MenuCase RightDbClick' Debug.Print "右健双击"Case BalloonClick' Debug.Print "单击气泡"' End SelectEnd Sub ''。
VB中播放WavMidi声音代码在某些情况下,例如程序员正在编写一个游戏,或是将要进行一项非常冗长无聊的过程,可以通过播放音乐来增加游戏的声光效果或是减少漫长的等待所带来的困倦。
本文介绍如何在microsoft visual basic 中对声音文件进行播放。
播放声音文件---- 在microsoft visual basic 中进行多媒体音乐的播放是一件非常轻松的事情。
在microsoft windows 系统中支持的声音文件有wav 文件和midi 文件,通常使用windows 应用程序编程接口(api)函数mciexecute 函数可以对midi 文件进行播放。
而使用api函数sndplaysound 则可以对wav 播放文件进行播放,当然,你也可以使用mciexecute 函数来播放wav 文件。
---- 为了播放wav 文件,你需要在你的程序窗体的通用声明部分中,或是标准模块中添加如下的声明语句:---- private declare function sndplaysound lib "winmm.dll" alias "sndplaysounda" (byval lpszsoundname as string, byval uflags as long) as long---- 以及如下的标识常量:---- public const snd_sync = &h0---- public const snd_async = &h1---- public const snd_nodefault = &h2---- public const snd_memory = &h4---- public const snd_alias = &h10000---- public const snd_filename = &h20000---- public const snd_resource = &h40004---- public const snd_alias_id = &h110000---- public const snd_alias_start = 0---- public const snd_loop = &h8---- public const snd_nostop = &h10---- public const snd_valid = &h1f---- public const snd_nowait = &h2000---- public const snd_validflags = &h17201f---- public const snd_reserved = &hff000000---- public const snd_type_mask = &h170007---- sndplaysound 函数需要两个参数,第一个参数soundfilename是要播放的wav 文件的名称。
“歌曲播放”程序设计文档一、程序名称:歌曲播放二、程序功能1:实现了可通过不同倍速度播放音乐,如1倍速度、1.5倍速度2:实现了全部播放音乐,选中乐曲中的部分音乐播放选中部分以及停止等等三、程序设计1:按钮控件:Command1;Command2;Command32:文本控件:Text13:组合框:Combol四、程序实现1:定义音名频率:Call SetPName2:播放速度组合框及实现:Combo1_Click() ctV = 1 / Val(Combo1.Text)3:播放全部按钮及实现:Command1_Click() Call Paly4:播放选中部分按钮及实现:Command2_Click() Call Paly(True)5:停止播放按钮及实现:Command3_Click() ctEsc = True 五、程序运行六、程序代码Private Declare Function Beep Lib "kernel32" (ByVal dwFreq As Long, ByVal dwDuration As Long) As LongDim ctEsc As Boolean, ctExit As Boolean, ctV As Single, ctP() As Single, ctPs As LongPrivate Sub Form_Load()Dim I As LongMe.Caption = "让主板播放乐曲": Command3.Caption = "停止(&S)"Command1.Caption = "全部播放(&A)": Command2.Caption = "播放选中部分(&P)" = "宋体": Text1.Font.Size = 9Call SetPName '定义音名频率Combo1.AddItem " 0.25倍速度"Combo1.AddItem " 0.4 倍速度"Combo1.AddItem " 0.5 倍速度"Combo1.AddItem " 0.6 倍速度"Combo1.AddItem " 0.7 倍速度"Combo1.AddItem " 0.8 倍速度"Combo1.AddItem " 0.9 倍速度"Combo1.AddItem " 1 倍速度"Combo1.AddItem " 1.25倍速度"Combo1.AddItem " 1.5 倍速度"Combo1.AddItem " 1.75倍速度"Combo1.AddItem " 2 倍速度"Combo1.AddItem " 3 倍速度"Combo1.AddItem " 4 倍速度"Combo1.Text = " 1 倍速度"'例子乐曲Text1.Text = " 粉刷匠" & vbCrLf & _" 5 3 5 3 | 5 3 1- |2 4 3 2 | 5---|" & vbCrLf & _" 我是一个粉刷匠,粉刷本能强," & vbCrLf & _" 5 3 5 3 | 5 3 1- |2 4 3 2 | 1---|" & vbCrLf & _" 我要把那新房子,刷得很漂亮。
VB 在资源文件中自定义了一WAV文件,要在form中调用这个资源实现背景音乐播放2首曲子的源代码这个例子好像只能播放WAV文件,将两个WAV文件添加到资源文件里,分别命名为101 和 102添加两个command控件!然后在form窗体中添加如下代码:Option ExplicitPrivate Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As LongPrivate Const SND_ASYNC& = &H1Private Const SND_NODEFAULT& = &H2Private Const SND_RESOURCE& = &H40004Dim hInst As LongDim sSoundName As StringDim lFlags As LongDim lRet As LongPrivate Sub Command1_Click() '播放第一首sSoundName = "101"lRet = PlaySound(sSoundName, hInst, lFlags)End SubPrivate Sub Command2_Click() ‘播放第二首sSoundName = "102"lRet = PlaySound(sSoundName, hInst, lFlags)End SubPrivate Sub Form_Load()hInst = App.hInstancelFlags = SND_RESOURCE + SND_ASYNC + SND_NODEFAULT End Sub代码编辑完成,保存生成可执行程序后,运行点击窗体中相应的按钮就能听到声音了!。
vba触发正确声
对于VBA触发正确声音(即播放音频)的方法,可以使用以下代码:
```vb
Sub PlaySound()
' 导入必要的库
Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long
Dim soundFilePath As String
Dim result As Long
' 设置音频文件的路径
soundFilePath = "C:\Path\To\Your\Sound\File.wav"
' 播放音频文件
result = PlaySound(soundFilePath, 0&, 1)
' 检查播放结果
If result = 0 Then
MsgBox "无法播放音频文件。
"
End If
End Sub
```
请将代码中的 `soundFilePath` 替换为您的音频文件的实际路径。
此代码将调用 `winmm.dll` 库中的 `PlaySound` 函数,实现播放指定音频文件的功能。
请确保您的电脑支持并已安装相应的音频文件解码器。
此代码仅供参考,如有其他需求或问题,请告诉我。
简单的MP3播放器一、系统完成功能及框图系统完成功能:用户进入打开播放器,选取文件就可播放了!二、核心算法及说明1. 添加mediaplayer1及CommonDialog1控件右击工具箱的空白处,选择“部件”,然后选取控件,如下图:把相关控件添加到窗体上;在windows media player的属性窗口中把windows media player1名称改为media player1 2.动态链接文件Private Sub Command1_Click()CommonDialog1.Action = 1MediaPlayer1.URL = CommonDialog1.FileNameIf CommonDialog1.FileName <> "" ThenCaption = "正在播放:" & CommonDialog1.FileNameCommand3.Enabled = TrueCommand4.Enabled = TrueEnd IfEnd Sub三、界面设计程序代码如下:Private Sub Command1_Click()CommonDialog1.Action = 1MediaPlayer1.URL = CommonDialog1.FileNameIf CommonDialog1.FileName <> "" ThenCaption = "正在播放:" & CommonDialog1.FileNameCommand3.Enabled = TrueCommand4.Enabled = TrueEnd IfEnd SubPrivate Sub Command2_Click()Caption = "正在播放:" & CommonDialog1.FileNameMediaPlayer1.Controls.playCommand2.Enabled = FalseCommand3.Enabled = TrueCommand4.Enabled = True End SubPrivate Sub Command3_Click()MediaPlayer1.Controls.pauseCommand3.Enabled = FalseCommand2.Enabled = TrueEnd SubPrivate Sub Command4_Click() MediaPlayer1.CloseCommand4.Enabled = FalseCommand2.Enabled = TrueEnd SubPrivate Sub Command5_Click()EndEnd SubPrivate Sub Form_Load()Caption = "正在播放:"Command1.Caption = "打开"Command2.Caption = "播放"Command3.Caption = "暂停"Command4.Caption = "停止"Command5.Caption = "退出"Command2.Enabled = FalseCommand3.Enabled = FalseCommand4.Enabled = FalseEnd Sub。
如何在VB中播放音乐Private Sub Command1_Click()'添加 Microsoft Windows Common Controls 部件'第一次播放= + "\"= "open"= "play"End SubPrivate Sub Command2_Click()'重新播放= "close"= "open"= "play"End SubPrivate Sub Command3_Click()'添加 Microsoft Media Player部件点击一次播放一次 = + "\"End Sub不用ActiveX控件也能播放声音文件讲一下代码保存至moduleOption ExplicitPublic Declare Function sndPlaySound Lib "" Alias _ "sndPlaySoundA" (ByVal lpszSoundName As String, _ ByVal uFlags As Long) As LongConst SND_SYNC = &H0Const SND_ASYNC = &H1Const SND_NODEFAULT = &H2Const SND_LOOP = &H8Const SND_NOSTOP = &H10接下来把下面的代码粘贴到你想播放声音文件的地方,比如放在命令按钮的Click事件中Dim sFlags As LongsFlags = SND_ASYNC Or SND_NODEFAULTsndPlaySound "", sFlags把上面的换成你想要播放的声音文件的完整路径及文件名就行了。
VB开发中背景音乐的制作背景音乐不仅在软件中起到“声”、“文”并茂的效果,而且能使用户减少在漫长的计算、等待过程中所带来的困倦和烦躁情绪,我们将通过用Microsoft Visual Basic开发为例,来讲解背景音乐在软件中的应用。
使用Microsoft Visual Basic进行多媒体音乐的播放是一件非常容易的事情。
Microsoft Windows系统中支持两种声音文件:WAV格式文件和MIDI格式文件,一般使用API(Windows应用程序编程接口)函数sndPlaySound播放WAV格式文件,使用mciExecute函数来播放MIDI文件。
1、播放WAV格式文件要播放WAV格式文件,你必须在程序窗口的通用声明部分或标准模块中添加如下的声明:Public Const SND_SYNC = &&H0Public Const SND_ASYNC = &&H1Public Const SND_NODEFAULT = &&H2Public Const SND_MEMORY = &&H4Public Const SND_ALIAS = &&H10000Public Const SND_FILENAME = &&H20000Public Const SND_RESOURCE = &&H40004Public Const SND_ALIAS_ID = &&H110000Public Const SND_ALIAS_START = 0Public Const SND_LOOP = &&H8Public Const SND_NOSTOP = &&H10Public Const SND_VALID = &&H1FPublic Const SND_NOWAIT = &&H2000Public Const SND_VALIDFLAGS = &&H17201FPublic Const SND_RESERVED = &&HFF000000Public Const SND_TYPE_MASK = &&H170007Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As LongsndPlaySound函数需要两个参数:第一个参数soundfilenam e是要播放的WAV文件的名称;第二个参数是一个表明播放方式的标识常量,其定义的值如前面的声明所示,通常所使用的标识意义如下:SND_SYNC播放WAV格式文件,播放完毕后将控制转移回应用中。
VBA播放MP3歌曲的代码可以用来做背景音乐。
使用方法:打开word、excel等然后按Alt+F11 在打开的窗口中粘贴下面代码:Private Declare Function m ciS endString Lib "winmm.dll" Alias "mciSendStringA" (ByV al lpstrCommand As String, ByV al lpstrReturnString As String, ByV al uReturnLength As Long, ByV al hwndCallback As Long) As LongDim sMCI As String * 255Dim sMP3Dim iNum As IntegerPublic Function Blank(ByV al szString As String) As StringDim l As Integerl = InStr(szString, Chr(0))If l > 0 ThenBlank = Left(szString, l - 1)ElseBlank = szStringEnd IfEnd FunctionPrivate Sub CommandButton1_Click()mciSendString "close OpenFile", 0&, 0, 0End SubPrivate Sub CommandButton2_Click()mciSendString "status OpenFile mode", sMCI, 255, 0If Blank(sMCI) <> "playing" ThenmciSendString "close OpenFile", 0&, 0, 0mciSendString "open """ & "D:\aw\情非得已.mp3"" alias OpenFile type MPEGVideo", 0&, 0, 0mciSendString "play OpenFile", 0&, 0, 0iNum = iNum + 1'If iNum > UBound(sMP3) Then Timer1.Enabled = FalseEnd IfEnd Sub在文档中添加两个按钮控件就行了。
《VB初学者》为程序添加背景音乐的方法(windows mediaplayer控件)方法一:运用windows mediaplayer控件添加程序背景音乐具体步骤如下1>为VB添加windows mediaplayer部件ctrl+T激活添加部件对话框(如右图),勾选如图所示的windows mediaplayer选项,单击应用、确定工具栏里面出现按钮,双击添加控件2>更改windows mediaplayer控件的属性在窗体(下图)上出现windows mediaplayer控件选中它,更改它的属性其中的visible属性设置为false(如下图),这样的话,程序在运行的时候,windows mediaplayer控件是不可见的,其所播放的音乐就可以作为程序的背景音乐了3>关于windows mediaplayer如何播放音乐文件的问题解决办法有两种:第一种:如上图所示,改变控件的URL属性,在百度音乐里搜索到自己希望的背景音乐,复制链接地址粘贴到这里(缺点是程序运行的时候,电脑没有联网或者网络资源不可用时就听不到背景音乐,网速查的时候,音乐会卡;优点是可以缩小程序文件体积)第二种:把背景音乐整合到工程资源中(缺点是过程麻烦,程序文件体积大;优点是电脑程序启动后,电脑不需联网就可以听到背景音乐,缓冲过程几乎不存在,不受网速影响)方法如下:如下图所示,菜单栏选择外接程序——外界程序管理器——选中VB 6 资源编辑器,在右下角加载行为中勾选如右图两项后点击确定,在工具栏里会增加按钮——单击按钮打开“VB 资源编辑器”在“VB 资源编辑器”里单击“添加自定义资源”按钮打开对话框:“打开一个自定义资源”,选择你需要的音频文件即可这样之后,调用资源需要用到LoadResDeta语句代码参考Private Sub Form_Load()Dim TempData() As ByteTempDataPath = "f:\1.mp3" '引号里你可以自定义盘符和路径作为资源加载的临时存储地址(临时文件)TempData = LoadResData(101, "CUSTOM") '这是那个文件编号,具体可以自己在整合资源的时候更改,默认是101Open TempDataPath For Binary Access Write As #1Put #1, , TempDataClose #1WindowsMediaPlayer1.URL = TempDataPathEnd Sub运用如下语句可以在程序运行完后删除刚刚提到的临时文件Private Sub Form_Unload(Cancel As Integer)Kill "f:\1.mp3" '刚刚你自己定义的路径(必须相同,否则程序报错)End Sub方法二运用API函数中的mciSendString函数完成多媒体播放XP下的关机代码'把下边的代码放在一个模块中,调用ShutDownPC函数Option Explicit'ExitWindowsEx的参数uflags,有四个对应值,分别是:Public Const EWX_LOGOFF = 0 '退出(注销)Public Const EWX_SHUTDOWN = 1 '关机Public Const EWX_REBOOT = 2 '重启动Public Const EWX_FORCE = 4 '强制关机,即不通知现在活动应用程序让其先自我关闭…如执行多个操作,可以用OR连接Public Const TOKEN_ADJUST_PRIVILEGES = &H20Public Const TOKEN_QUERY = &H8Public Const SE_PRIVILEGE_ENABLED = &H2Public Const ANYSIZE_ARRAY = 1Type LUIDlowpart As Longhighpart As LongEnd TypeType LUID_AND_ATTRIBUTESpLuid As LUIDAttributes As LongEnd TypeType TOKEN_PRIVILEGESPrivilegeCount As LongPrivileges(ANYSIZE_ARRAY) As LUID_AND_A TTRIBUTESEnd TypeDeclare Function ExitWindowsEx Lib "user32" (ByVal uFlags As Long, ByVal dwReserved As Long) As LongDeclare Function GetCurrentProcess Lib "kernel32" () As LongDeclare Function LookupPrivilegeValue Lib "advapi32.dll" Alias "LookupPrivilegeValueA" (ByVal lpSystemName As String, ByVal lpName As String, lpLuid As LUID) As LongDeclare Function AdjustTokenPrivileges Lib "advapi32.dll" (ByVal TokenHandle As Long, ByVal DisableAllPrivileges As Long, NewState As TOKEN_PRIVILEGES, ByVal BufferLength As Long, PreviousState As TOKEN_PRIVILEGES, ReturnLength As Long) As LongDeclare Function OpenProcessToken Lib "advapi32.dll" (ByVal ProcessHandle As Long, ByVal DesiredAccess As Long, TokenHandle As Long) As Long'这个函数就是用于NT关机中使用的Sub AdjustTokenPrivilegesForNT()Dim hdlProcessHandle As LongDim hdlTokenHandle As LongDim tmpLuid As LUIDDim tkp As TOKEN_PRIVILEGESDim tkpNewButIgnored As TOKEN_PRIVILEGESDim lBufferNeeded As LonghdlProcessHandle = GetCurrentProcess()OpenProcessToken hdlProcessHandle, (TOKEN_ADJUST_PRIVILEGES Or _TOKEN_QUERY), hdlTokenHandleLookupPrivilegeValue "", "SeShutdownPrivilege", tmpLuidWith tkp.PrivilegeCount = 1.Privileges(0).pLuid = tmpLuid.Privileges(0).Attributes = SE_PRIVILEGE_ENABLEDEnd WithAdjustTokenPrivileges hdlTokenHandle, False, tkp, _Len(tkpNewButIgnored), tkpNewButIgnored, _lBufferNeededEnd SubPublic Sub ShutDownPC(ByVal sCode As Long, Optional ByVal IsNt As Boolean = True)If IsNt = True Then Call AdjustTokenPrivilegesForNT '如果是NT以上系统就要先调用这个ExitWindowsEx sCode, 0 '注销End Sub在VB程序中实现关闭计算机的功能?我给你贴出来:VB 6.0开发应用程序时,用户要求在程序内部加入直接关机功能,使操作全部集中于应用程序的内部进行。
用VB制作一个简单的MP3播放器
用API函数[mciSendString]可以轻松实现MP3音乐文件的播放。
下面这段程序实现了MP3播放的大部分常规操作,对其稍加修改,做一个100KB大小的MP3播放器轻而易举
启动VB程序,在窗体上放置6个命令按钮,三个标签,一个公用对话框、一个进度条、一个状态栏和一个计时器,窗本的布置请参考附图
按钮"Open MP3 File"是用来打开对话框选择MP3文件,其他5个按钮分别为Play(播放)、Pause(暂停)、Stopplay(停止播放)、Back(向后跳跃)、Prew(向前跳跃)。
Label1用来表示歌曲当前时间;label2放在时度条的最左边,Caption属性为"00:00";lable3放在时度条的右边,用来表示歌曲总长。
下面就可以编写代码了。
首先在窗体的"通用声明"部分声明函数
下面就是各个对象的代码了:
察看评论详细内容我要发表评论
2回顶部
察看评论详细内容我要发表评论
3回顶部
图中5个控制按钮,其实是把字体设为"Webdings",让它们的Caption属性分别为"4" ";" "<" "7" "8"
就可以了。
在ExcelVba中使用API函数playSound播放声音【转】在Excel Vba中使用API函数playSound播放声音 - [学术文章]版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明PlaySound函数的声明如下:Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long参数lpszName表示声音名,可以是文件名,系统事件名或内存地址,参数hModule只用于播放嵌入资源,其它的时候设置为0&,参数dwFlags是各种标志常量的组合,有下面一些常用的常量:SND_SYNC=&H0:同步播放,直到指定声音被播放,函数不会返回,不能跟SND_ASYNC一起使用SND_ASYNC=&H1:异步播放,不管声音是否播放,函数立即返回程序,不能同SND_SYNC一起使用SND_NODEFAULT=&H2:如果指定声音不存在,未设置此参数,将发出默认Beep声,设置了这个参数的话将不发出任何声音SND_LOOP=&H8:循环声音直至下次调用PlaySound函数SND_ALIAS=&H10000:lpszName指向注册表项目,也就是说播放系统声音,不要同SND_RESOURCE或SND_FILENAME一起使用SND_PURGE = &H40:用来停止当前播放的声音,也可以将lpszName参数设置为“vbnullstring”来实现----------------------------------------下面是示例代码:Public Declare Function PlaySound Lib "winmm.dll" Alias"PlaySoundA" (ByVal lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As LongSub testPlaySound()Call PlaySound(ThisWorkbook.Path & "\demo.wav", 0&, &H8 Or &H1)'异步、重复播放demo.wavEnd Sub。
用VB6.0制作一个MP3播放器,给出代码谢谢2008-03-13 17:36lkmu | 分类:多媒体软件| 浏览3813次分享到:2008-03-14 13:19 提问者采纳用VB制作一个简单的MP3播放器用VB制作一个简单的MP3播放器利用API函数[mciSendString]可以轻松实现MP3音乐文件的播放。
下面这段程序实现了MP3播放的大部分常规操作,对其稍加修改,做一个100KB 大小的MP3播放器轻而易举启动VB程序,在窗体上放置6个命令按钮,三个标签,一个公用对话框、一个进度条、一个状态栏和一个计时器,窗本的布置请参考附图按钮"Open MP3 File"是用来打开对话框选择MP3文件,其他5个按钮分别为Play(播放)、Pause(暂停)、Stopplay(停止播放)、Back(向后跳跃)、Prew(向前跳跃)。
Label1用来表示歌曲当前时间;label2放在时度条的最左边,Caption 属性为"00:00";lable3放在时度条的右边,用来表示歌曲总长。
下面就可以编写代码了。
首先在窗体的"通用声明"部分声明函数Private Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrRetumString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As LongDim mfn As String下面就是各个对象的代码了:Private Sub Form_load()mfn = ""play.Enabled = Falsepause.Enabled = Falsestopplay.Enabled = Falseback.Enabled = Falseprew.Enabled = FalseTimer1.Enabled = FalseTimer1.Interval = 500End SubPrivate Sub open_Click()On Error GoTo errWith CommonDialog1.CancelError = True.Filter = "音乐文件|*.mp3;*.wav;*.mid".Flags = cdlOFNNoChangeDir And cdlOFNPathMustExist.Action = 1stopplay_Click '停止按钮同时可以设备初始化mfn = .FileName '这个程序中文件名一定不能带空格Form1.Caption = .FileNameplay.Enabled = TrueEnd Withplay_ClickExit Suberr:End SubPrivate Sub play_Click()On Error Resume NextDim t As Longt = mciSendString("open " + mfn, 0&, 0, 0) 'Open后边的空格一定不能丢Dim ret As String * 128t = mciSendString("status " + mfn + " length", ret, 128, 0)'显示歌曲总长ret = Left(ret, 8)If ret <> "" ThenProgressBar1.min = 0ProgressBar1.Max = Val(ret)Label3.Caption = Gettime(Val(ret))End Ifplay.Enabled = Falsepause.Enabled = Truestopplay.Enabled = Trueback.Enabled = Trueprew.Enabled = Truet = mciSendString("status " + mfn + " mode", ret, 128, 0)'得到设备的当前状态,是播放还是暂停等等ret = Left(ret, 8)StatusBar1.Panels(1).Text = ret'在状态栏显示播放状态t = mciSendString("play " + mfn + " form " + Str(ProgressBar1.V alue), 0&, 0, 0) '开始播放Timer1.Enabled = TrueEnd SubPrivate Sub pause_Click()t% = mciSendString("pause " + mfn, 0&, 0, 0)'发出暂停的命令play.Enable = Truepause.Enabled = Falsestopplay.Enabled = Trueback.Enabled = Falseprew.Enabled = FalseEnd SubPrivate Sub stopplay_Click()t% = mciSendString("stop " + mfn, 0&, 0, 0)t% = mciSendString("close " + mfn, 0&, 0, 0)'停止播放play.Enabled = Truepause.Enabled = Falsestopplay.Enabled = Falseback.Enabled = Falseprew.Enabled = FalseEnd SubPrivate Sub back_Click()t% = mciSendString("play " + mfn + " from " + Str(ProgressBar1.Value - (ProgressBar1.Max \ 10)), 0&, 0, 0) '向后跳一小段再播放End SubPrivate Sub prew_Click()t% = mciSendString("play " + mfn + " from " + Stri(ProgressBar1.Value + (ProgressBar1.Max \ 10)), 0&, 0, 0) '向前跳一小段再播放End SubPrivate Sub Timer1_Timer()Dim t As LongDim ret As String * 128t = mciSendString("status " + mfn + " position", ret, 0, 0)'得到当前播放位置ret = Left(ret, 8)ProgressBar1.Value = V al(ret)Label1.Caption = Gettime(Val(ret))'显示歌曲当前时间If ProgressBar1.Value = ProgressBar1.Max Thenstopplay_ClickEnd Ift = mciSendString("status " + mfn + " mode", ret, 128, 0)ret = Left(ret, 8)StatusBar1.Panels(1).Text = retEnd SubPrivate Sub Form_Unload(Cacel As Integer)t% = mciSendString("stop " + mfn, 0&, 0, 0)t% = mciSendString("close " + mfn, 0&, 0, 0)End SubPrivate Function Gettime(position As Long) As String'这个函数的功能是把以长整型表示的时间转换为电子钟式的"**:**"Dim min, secmin = position / 1000min = min / 60sec = min - Int(min)min = Int(min)sec = 60 * sec / 100sec = Int(sec * 100)Gettime = Str(min) + ":" + Str(sec)End Function。
VB5中播放多媒体音乐五法
焦纯;杨国胜;王健琪
【期刊名称】《电脑与电信》
【年(卷),期】1999(0)7
【摘要】本文从不同实现方法的角度出发,详细阐述了在VB5中播放多媒体音乐的五种方法。
【总页数】4页(P38-41)
【关键词】VB5;MCI;多媒体音乐;API
【作者】焦纯;杨国胜;王健琪
【作者单位】西安第四军医大学生物医学工程系电子学教研室
【正文语种】中文
【中图分类】TP311.11
【相关文献】
1.农业技术多媒体演示软件中的声音控制--浅析背景音乐与解说词同步播放技术[J], 李玉琴
2.化学多媒体课件中背景音乐循环播放的VB实现 [J], 段纪东
3.多媒体课件中MIDI音乐的播放设计 [J], 杨正安
4.多媒体课件中MIDI音乐的播放设计 [J], 杨正安
5.组装电脑:真的省钱吗/听音乐选音箱/"揪出"被Windows XP隐藏的输入法/妙用快捷方式播放MP3音乐/快速打造全屏IE [J],
因版权原因,仅展示原文概要,查看原文内容请购买。
VB如何播放背景音乐
弟代码较多你可以给出邮箱吗?我直接发给你源码。
不过如果你不需要所有的功能你可以参考下面的代码。
只是部分,因为还有一个模块没有。
Dim ier As Boolean
Private Sub Command1_Click()
If Command1.Caption = "暂停播放" Then WindowsMediaPlayer1.Controls.pause
Command1.Caption = "接着播放"
ipause.Caption = "接着播放"
ElseIf Command1.Caption = "接着播放" Then WindowsMediaPlayer1.Controls.play
Command1.Caption = "暂停播放"
ipause.Caption = "暂停播放"
End If
End Sub
Private Sub Command2_Click()
Call rPlayMusic
End Sub
Private Sub Command3_Click()
'播放下一首
If File1.ListIndex < File1.ListCount - 1 Then
File1.ListIndex = File1.ListIndex + 1
ElseIf File1.ListIndex = File1.ListCount - 1 Then
File1.ListIndex = 0
End If
Call play(File1.Path & "\" & File1.FileName)
End Sub
Private Sub Command4_Click()
Me.Hide
End Sub
Private Sub File1_DblClick()
Call play(App.Path & "\music\" & File1.FileName) End Sub
Private Sub Form_Load()
'添加托盘图标
Call AddIcon
'label1动态初始化
ier = True
'播放器处理
WindowsMediaPlayer1.uiMode = "invisible"
WindowsMediaPlayer1.Controls.stop
'播放文件夹处理
On Error Resume Next '避开错误处理直接生成music文件甲MkDir (App.Path & "\music")
'定义当前音乐文件播放地址用filelist直接取得
File1.Path = App.Path & "\music"
'随机播放音乐
Call rPlayMusic
End Sub
Private Sub rPlayMusic()
Dim i As Integer
Randomize
i = Int(Rnd * File1.ListCount) '取得一个属于音乐文件的标识File1.ListIndex = i
Call play(File1.Path & "\" & File1.FileName) '播放路径名中音乐文件
End Sub
Private Sub play(mPlay As String)
WindowsMediaPlayer1.Controls.stop WindowsMediaPlayer1.URL = mPlay WindowsMediaPlayer1.Controls.play
a = Split(mPlay, "\")
a = a(UBound(a))
Label1.Caption = "现在正在播放:" & a ier = True
End Sub
Private Sub Form_Unload(Cancel As Integer) Call DelIcon '删除托盘图标WindowsMediaPlayer1.Controls.stop Unload Me
End Sub
Private Sub iend_Click()
Unload Me
End Sub
Private Sub inext_Click()
Call Command3_Click
End Sub
Private Sub ipause_Click()
Call Command1_Click
End Sub
Private Sub irplaymusic_Click()
Call Command2_Click
End Sub
Private Sub ishowme_Click()
Me.Show
End Sub
Private Sub Timer1_Timer()
'用于进行动态状态栏
If ier = True Then
Label1.Caption = " " & Label1.Caption
ier = False
ElseIf er = False Then
Label1.Caption = Right$(Label1.Caption,
Len(Label1.Caption) - 3)
ier = True
End If
'用于判断是否已经播放完成播放完成就随机播放一首
If WindowsMediaPlayer1.playState = 1 Then Call rPlayMusic '也可以播放下一首if WindowsMediaPlayer1.playstate=1 then call command3_click
End Sub
Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)
'气泡单击时的鼠标事件
Dim cEvent As Single
cEvent = X / Screen.TwipsPerPixelX
Select Case cEvent
Case MouseMove
'Debug.Print "MouseMove"
Case LeftUp
' Debug.Print "左键放开"
Case LeftDown
' Debug.Print "左键按下"
Case LeftDbClick
' Debug.Print "左键双击"
Form1.WindowState = 0
Form1.Show
Case MiddleUp
' Debug.Print "中间键放开"
Case MiddleDown
' Debug.Print "中间键按下"
Case MiddleDbClick
' Debug.Print "中间键单击"
Case RightUp
' Debug.Print "右健放开"
Case RightDown
' Debug.Print "右健按下"
Me.PopupMenu Me.Menu
Case RightDbClick
' Debug.Print "右健双击"
Case BalloonClick
' Debug.Print "单击气泡"' End Select
End Sub ''。