Звук в MP3
Home Up Автозапись Буфер обмена Долой пробелы DOS-программы Контролы в массиве Редактор VB Скрытые папки INI-файлы Лог-файлы Миминизация Звук в MP3 Советы

Вопрос.
Как можно организовать проигрывание MP3 файлов с использованием
какого-нибудь стандартного декодера Fraunhofer IIS MPEG Layer-3
Decoder например.
В качестве ответа, также приму ссылку на пример в интернете.


Музыку, сжатую этой программой, я воспроизвожу так же, как если бы это был
обычный 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
 

 

Home ] Up ] О группе ] Статьи ] Исходники ] Орфография ] Проекты ] Наша рассылка ]

Хостинг от uCoz