如何在不使用已安装播放器的情况下从VB6播放.mp3文件?

如何在不使用已安装播放器的情况下从VB6播放.mp3文件?,vb6,Vb6,我想从vb6应用程序播放mp3文件(b/c压缩比.wav小),但不需要安装任何其他播放器 有什么建议吗? < P>不确定你是否会认为它是“被安装”,因为它与OS一起出现,但是你可以从VB6控制Windows媒体播放器。< /P> < P>使用DLL,例如播放MP3文件。< /P> < P>添加引用ActualMeVIE控件类型库并使用。查看的docPlayer.pvLoadMediaFile以获取示例,并查看IBasicAudio的使用情况,但不考虑源代码--音量控制等。在VB6中播放MP3最简

我想从vb6应用程序播放mp3文件(b/c压缩比.wav小),但不需要安装任何其他播放器


有什么建议吗?

< P>不确定你是否会认为它是“被安装”,因为它与OS一起出现,但是你可以从VB6控制Windows媒体播放器。< /P> < P>使用DLL,例如播放MP3文件。< /P> < P>添加引用ActualMeVIE控件类型库并使用。查看的docPlayer.pvLoadMediaFile以获取示例,并查看IBasicAudio的使用情况,但不考虑源代码--音量控制等。

在VB6中播放MP3最简单的方法是使用MCI in-windowsmultimedia(winmm)功能。可以在windows media player中播放MP3的所有版本的windows中都提供了这些功能(默认情况下,在2000年,XP和我认为98中,需要安装适用于NT4和95的windows media player)。将以下内容添加到标题中:

Declare Function mciSendString Lib "winmm" Alias "mciSendStringA" (ByVal _
    lpstrCommand As String, ByVal lpstrReturnString As String, _
    ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
然后在子例程中添加以下内容:

CommandString = "open """ & FileName & """ type mpegvideo alias " & FileName
RetVal = mciSendString(CommandString, vbNullString, 0, 0)

文件类型应该是mpegvideo,而不是wavfile或sequencer,我猜是因为它使用mpegvideo编解码器来播放文件。如果您计划分发应用程序,则有关MP3编解码器的使用以及是否使用windows回放的法律问题将留给您的法律部门处理

WMP在欧洲的操作系统总是附带的:另外,Bass做同样的事情,但是有不同的接口,可能更有用:FMOD需要一个单独的MP3许可证,并且有一个单独的商业许可证。我很确定他只是想用API播放MP3,而不是任何Active-X(OCX)或DLL控件/文件,这样就不需要将它们添加到已编译的project/program.Welcoem到StackOverflow中。这实际上并不能回答这个问题。我建议删除它并作为评论转载,但由于这个问题已经存在4年多了,它可能不会被看到。