СообЧа > База Знаний > Программирование > Visual Basic > Графика и Мультимедиа

Вопрос

Как проиграть файлы разных форматов? Например 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 Сообщество Чайников
Контактная информация