在程序中如何使用api函数播放mp3音乐!?

vbanddelphi 2003-10-19 10:29:05
在程序中播放mp3音乐不用控件能不能用函数或其它方法来实现呢?
...全文
265 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
vbanddelphi 2003-10-20
  • 打赏
  • 举报
回复
谢谢各位!特别感谢goodname008(卢培培,LPP Software) !问题解决了!!!谢谢!!!
knikcn 2003-10-19
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
RealAudio1.DoPlay
End Sub

Private Sub Form_Load()
RealAudio1.Source = "E:\MUSIC\任贤齐\任贤齐春天花会开.rm"

End Sub

'***************************************************
'control realway activex control library
vbanddelphi 2003-10-19
  • 打赏
  • 举报
回复
先谢了,这个我知道,我就是想能不能用函数播放mp3格式的音乐!继续等!
aha99 2003-10-19
  • 打赏
  • 举报
回复
如果是windows支持的格式就可以,但是mp3音乐好像不可以,要不然你就自己解码,或者转换成windows标准的音频格式,直接用winmm中的api来实现,很简单的 LlRet = sndPlaySound(LsSoundFile, SND_ASYNC)
goodname008 2003-10-19
  • 打赏
  • 举报
回复
' 用API函数中的mciSendString即可解决问题,自己加工加工做了个函数

Option Explicit
Private 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

Private Sub Command1_Click()
PlaySound "c:\123.mp3"
End Sub

' 播放指定磁盘中的音乐文件(.wav或.mid或.mp3)
' Filename 为音乐文件的路径及文件名
Function PlaySound(ByVal FileName As String) As Boolean
Dim cmd As String, exName As String
exName = Right(FileName, 3)
mciSendString "close " & exName, 0, 0, 0
cmd = "open " & FileName & " alias " & exName
mciSendString cmd, 0, 0, 0
PlaySound = mciSendString("play " & exName, 0, 0, 0)
End Function


subzero 2003-10-19
  • 打赏
  • 举报
回复
播放mp3文件的几种途径,不全的请大家补充
1、调用现存播放器提供的控件,如楼上的real或activemovie等等,好处是代码简单
2、编写基于directshow的应用程序来播放mp3
3、直接调用现有的mp3解码引擎,并输出
4、自己编写mp3解码引擎

7,762

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧