Как воспроизвести файлы .mp3 с VB6 без использования установленного плеера? - PullRequest
2 голосов
/ 19 декабря 2008

Я бы хотел воспроизвести mp3-файлы (т.к. они сжимаются меньше, чем .wav) из приложения vb6, но без необходимости устанавливать какой-либо другой плеер.

Есть предложения?

Ответы [ 4 ]

4 голосов
/ 23 декабря 2008

Самый простой способ воспроизвести MP3 в VB6 - это использовать MCI в функциях windowsmultimedia (winmm). Они доступны во всех версиях Windows, которые могут воспроизводить MP3-файлы в Windows Media Player (по умолчанию в 2000 году, XP и я считаю, 98, необходимых для установки Windows Media Player для NT4 и 95). Добавьте в заголовок следующее:

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 или секвенсор, я думаю, потому что он использует кодек mpegvideo для воспроизведения файла. Правовые вопросы, касающиеся использования кодека MP3 и того, используете ли вы Windows для его воспроизведения или нет, оставлены на усмотрение вашего юридического отдела, если вы планируете распространять свое приложение.

1 голос
/ 19 декабря 2008

Используйте DLL, например FMOD для воспроизведения mp3-файлов.

0 голосов
/ 20 декабря 2008

Добавить ссылку на библиотеку типов элементов управления ActiveMovie и использовать FilgraphManager.RenderFile . Для примера посмотрите VbAmp Player * docPlayer.pvLoadMediaFile и проверьте использование IBasicAudio, хотя источник - регулятор громкости и т. Д.

0 голосов
/ 19 декабря 2008

Не уверен, считаете ли вы его «установленным», поскольку он поставляется с ОС, но вы можете управлять проигрывателем Windows Media из vb6.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...