Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
poyasnilovka.doc
Скачиваний:
2
Добавлен:
20.09.2019
Размер:
179.2 Кб
Скачать
  1. Постановка задачи

Необходимо разработать алгоритм программы «аудиопроигрыватель». Функциональные возможности:

- Воспроизведение форматов:

  • mp3

  • wma

- Наличие плейлиста

- Наличие эквалайзера

- Сохранение плейлиста

- Наличие информационного окна

- Наличие горячих клавиш

- Сворачивание в трей

  1. Краткая теория

Программа написано на языке программирования Delphi 7.

2.1 Библиотека Bass.Dll

При написании аудиоплеера использовалась библиотека Bass.dll v 2.3. Библиотека BASS разработана un4seen developments. и содержит набор функций для воспроизведения звуковых файлов различных форматов, а также для записи звука.

Возможности библиотеки BASS:

1. воспроизведение звуковых образцов (сэмплов) в формате WAV/AIFF/MP3/MP2/MP1/OGG;

2. потоковое воспроизведение звуковых файлов в формате MP3/MP2/MP1/OGG/WAV/AIFF;

3. потоковое воспроизведение звука из интернета (по протоколам http и ftp, с поддержкой серверов Shoutcast, Icecast & Icecast2);

4. воспроизведение файлов музыкальных форматов (XM, IT, S3M, MOD, MTM, UMX), а также формата MO3 (mod музыка, сжатая MP3/OGG);

5. запись звука;

6. поддержка эффектов обработки звуков и эффектов DirectX 8 (только для Win32): Chorus / compressor /distortion / echo / flanger / gargle / parametric eq / reverb и т.д.;

7. поддержка многоканального (а не только стерео) звука, в том числе и многоканальных OGG/WAV/AIFF файлов;

8. поддержка многопотоковых звуковых карт;

9. поддержка позиционируемого 3D звука и EAX;

10.поддержка расширений (плагинов);

Основные функции библиотеки BASS:

function BASS_Init(device: Integer; freq, flags: DWORD; win: HWND; clsid: PGUID): BOOL; Инициализирует звуковой поток

Пример использования:

BASS_Init(-1, 44100, 0, handle, nil);

function BASS_StreamFree(handle: HSTREAM): BOOL

Очищает звуковой поток

function BASS_StreamCreateFile(mem: BOOL; f: Pointer; offset, length: QWORD; flags: DWORD): HSTREAM;

Создаем звуковой поток из локального файла

Пример использования :

Имя потока := Bass_streamCreateFile(false, PChar('C:\muzic.mp3'),0,0,0);

function BASS_ChannelGetLength(handle, mode: DWORD): QWORD;

Узнать длинну звукового потока

Пример использования:

BASS_ChannelGetLength(Имя потока,0);

function BASS_ChannelPlay(handle: DWORD; restart: BOOL): BOOL;

Начать проигрывать звук

Пример использования:

Bass_channelPlay(Имя потока, false);

function BASS_ChannelPause(handle: DWORD): BOOL;

Сделать паузу

Пример использования:

BASS_ChannelPause(Имя потока);

function BASS_ChannelStop(handle: DWORD): BOOL;

Остановить проигрывание звука.

Пример использования:

BASS_ChannelStop(Имя потока);

function BASS_ChannelSetPosition(handle: DWORD; pos: QWORD; mode: DWORD): BOOL; Установить новую позицию в потоке( необходимио для перемотки) Сдвигает позицию проигрывания на pos вперед.

Пример использования:

BASS_ChannelSetPosition(Имя потока, ScrollBar1.Position, 0);

function BASS_ChannelGetAttribute(handle, attrib: DWORD; var value: FLOAT): BOOL;

Получает атрибуты канала.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]