明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1368|回复: 4

让你的VBA或VB程序也能播音乐

[复制链接]
发表于 2005-4-21 21:40:00 | 显示全部楼层 |阅读模式
  1. '播放器调用
  2. Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
  3. Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
  4. Public Const SND_SYNC = &H0
  5. Public Const SND_ASYNC = &H1
  6. Public Const SND_LOOP = &H8' 播放MID文件
  7. Public Sub PlayMID(strFileName As String)
  8.        Dim lngRet As Long
  9.        lngRet = mciSendString("open " & strFileName & " type sequencer alias canyon", 0&, 0, 0)
  10.        lngRet = mciSendString("play canyon wait", 0&, 0, 0)
  11.        lngRet = mciSendString("close canyon", 0&, 0, 0)
  12. End Sub' 播放WAV文件
  13. Public Sub PlayWav(strFileName As String , ChkRepeat As Boolean)
  14.        Dim intRetval As Integer
  15.        intRetval = sndPlaySound(ByVal strFileName,   IIf(chkRepeat, SND_ASYNC Or SND_LOOP, SND_ASYNC))
  16.        'If intRetval = 0 Then MsgBox ("Error!")
  17. End Sub
发表于 2005-4-21 22:01:00 | 显示全部楼层
老大,放音乐时可否干工作(如再CAD的VBA其它程序运行)?
 楼主| 发表于 2005-4-21 22:17:00 | 显示全部楼层
它只管放,音乐放后程序也就不对音乐进行控制了,程序在启动了音乐后就会继续运行后续的程序内容。
发表于 2005-4-22 21:31:00 | 显示全部楼层
今天我试过,MID格式可否循环播放?放完后进程是否自动终止?好像不是必须关掉后才能进行下一支歌曲的播放!!
发表于 2005-4-23 21:08:00 | 显示全部楼层
thank you !好东西,以后老大多发点程序哈,再次感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-27 16:47 , Processed in 0.146347 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表