Веб программирование

Работа с библиотекой BASS.dll

 
 

Сегодня мы научимся работать с библиотекой bass.dll. Что же это такое и зачем оно нам нужно? BASS (BASS audio library) — звуковая библиотека, цель которой заключается в том, чтобы предоставить разработчикам образец аудио-центра, в частности, обеспечить работу с потоками (MP3, MP2, MP1, OGG, WAV, AIFF), MOD файлами (XM, IT, S3M, MOD, MTM, UMX), MO3 файлами (mp3, ogg и сжатых MOD файлов), функциями записи, редактирования тегов аудиофайлов, конвертирования популярных форматов, «граббить» AudioCD, потребляя малое количество системных ресурсов. Скачать библиотеку можно отсюда.

Для начала распакуем сам bass.dll в папку windows/system32. Обратите внимание, что у пользователя программы может её не оказаться, поэтому bass.dll должна быть всегда рядом с вашей программой.

Теперь нам нужен модуль Bass.bas. В проекте нажмем Add->Module и добавим его.

На форме сделаем 2 кнопки, Играть и Стоп

Теперь приступим к коду (я приведу полный код программы с комментариями)



'Создаем переменную, в которой будем хранить путь к файлу

Dim PlayFile As Long

'Создаем процедуру определение ошибки

Public Sub Error_(ByVal es As String)

On Error Resume Next

Call MsgBox(es & vbCrLf & "(error code: " & BASS_ErrorGetCode() & ")", vbExclamation, "Error")

End Sub

Private Sub Command1_Click()

'Освобождаем bass если он был занят

Call BASS_Free

'Запускаем bass на звуковую карту

If BASS_Init(-1, 44100, 0, Me.hWnd, 0) = BASSFALSE Then

Call Error_("Звуковая система не найдена, или занята")

End

End If

'Указываем в переменной путь к нашему треку

PlayFile = BASS_StreamCreateFile(BASSFALSE, StrPtr("D:\music\file.mp3"), 0, 0, 0)

'Запускаем проигрывание

Call BASS_ChannelPlay(PlayFile, BASSTRUE)

End Sub

Private Sub Command2_Click()

'Кнопка стоп (при этом освобождаем аудиокарту от bass)

Call BASS_FreeEnd Sub

'Если закрыть программу на крестик не выгрузив bass он будет висеть в аудиокарте и играть

'Чтобы этого не было, в конце программы пишем

Private Sub Form_Unload(Cancel As Integer)

Call BASS_Free

End Sub



Код виде документа на Яндекс.Диске

Скачать исходник


Есть вопросы? Спроси на нашем форуме!!
Нет комментариев

Оставлять комментарии можно только зарегистрированным




Предупреждение: Вся информация представлена исключительно в образовательных целях.
Ни авторы, ни администрация не несут ответственности в случае ее использования в противозаконных целях.