Вопрос
Как проиграть файлы разных форматов? Например mp3, wma. mp3pro и т.д.
Ответ
Ниже о том, как воспроизводить файл mp3. Для других форматов аналогично.
Музыку, сжатую этой программой, я воспроизвожу так же, как если бы это был обычный WAV-файл, т.к. при установке программы кодек автоматически регистрируется в системе.
Вот пример модуля, который содержит необходимую Вам функцию:
Attribute VB_Name = «mdlSound»
Option Explicit
Public Declare Function PlaySound Lib «winmm.dll» Alias «PlaySoundA»
(ByVal
lpszName As String, ByVal hModule As Long, ByVal dwFlags As Long) As Long
Public Const SND_ASYNC = &H1
Public Function Sound(c As String) As Long
Dim b As Long
b = PlaySound(c, 0, SND_ASYNC)
Sound = b
End Function
Использовать так:
Sound «h:\Music\ozr.wav»
или
Sound «h:\Music\ozr.mp3»
или
Sound «h:\Music\ozr.mpg»
Данная процедура заканчивает свою работу после начала проигрывания музыки. Т.е. музыка играет, а программа выполняется. Чтобы можно было точно узнать, когда эта музыка кончилась, необходимо использовать таймер, или вместо API-функции использовать элемент управления MMControl
Если же поступить так, как описано во многих книгах по программированию (кстати и в справке по VC++) и заменить константу SND_ASYNC, то тогда Ваша программа замерзнет до того момента, когда музыка кончится, что не очень хорошо, если музыка длинная.
Но учтите, что при установке такой программы на другой компьютер Вам необходимо будет также установить на этом компьютере кодек. Он находится в саморазворачивающимся архиве с именем l3codecx.exe
BSP
Copyright 2000-2004 Сообщество Чайников
Контактная информация