Технологии программирования миди

 Навигация:

 Поиск:

 Новости:

17.02.2007
Полностью переработан дизайн сайта.

6.01.2007
Добавлен раздел Наработки Полезные и интересные программы и их исходники от автора.

19.11.2006
Функции WriteVarLen и ReadVarLen портированы с СИ на Delphi читать

14.11.2006
Появилась cтатья Midi-протокол глазами программиста

24.10.2006
Написана вторая часть MMSystem Функции midiOutGetVolume midiOutSetVolume midiOutMessage midiOutShortMsg и midiOutLongMsg

12.10.2006
Добавлен раздел Multimedia , который содержит большое количество информации по мультимедийным технологиям.

1.09.2006
Добавлен раздел MMSystem в котором находятся
подробные опсания функций winmm.dll, определенных в модуле mmSystem.pas,
с примерами их использования в Delphi.

13.08.2006
Опубликован исходник приложения, записывающего игру на клавиатуре
в стандартный midi-файл SMF - 0

4.07.2006
Добавлен раздел Структура формата миди-файла

 Счетчики:
Rambler's Top100 Яндекс цитирования Rambler's Top100
 Контент:

Дополнительные функции низкого уровня

Библиотека mmsystem.dll содержит несколько весьма полезных функ-ций, предназначенных для работы со звуком на низком уровне.

Функции waveInGetErrorText и waveOutGetErrorText (подобно функции mciGetErrorString) преобразуют код ошибки в текстовое описа-ние ее в виде строки символов.

Функции waveInGetID и waveInGetID позволяют определить реаль-ный номер устройства, выбранного функцией открытия устройства вво-да/вывода с указанием константы WAVE_MAPPER (режим автоматиче-ского поиска подходящего из установленных в системе устройств).

Функции waveInReset и waveOutReset выполняют останов устройств ввода или вывода соответственно и сброс текущей позиции для устройства в нуль.

Для запуска устройства ввода используется ранее рассмотренная функция waveInStart, для продолжения работы ранее приостановленного устройства вывода используется функция waveOutRestart.

Останов устройства ввода используется ранее описанная функция waveInStop, временный останов работы устройства вывода следует вос-пользоваться функцией waveOutPause.

Определение текущей позиции в блоке при записи и воспроизведении производится функциями waveInGetPosition и waveOutGetPosition соот-ветственно (при этом используется структура MMTIME, описанная в фай-ле mmsystem.h)

typedef struct mmtime_tag

{ UINT wType; // формат времени union {

DWORD ms; // миллисекунды DWORD sample; // выборки сигнала DWORD cb; // счетчик байт struct // формат SMPTE {

BYTE hour; // часы
BYTE min; // минуты
BYTE sec; // секунды
BYTE frame; // фреймы
BYTE fps; // фреймы в секунду
BYTE dummy; // байт для выравнивания
} smpte; struct // формат
MIDI {

DWORD songptpos; // указатель позиции в мелодии
} MIDI; } u; } MMTIME;

typedef MMTIME *PMMTIME;
typedef MMTIME NEAR *NPMMTIME;
typedef MMTIME FAR *LPMMTIME;

Для установки громкости следует использовать функцию waveOut-SetVolume, прочитать текущее значение громкости можно функцией waveOutGetVolume.

Содержание
 Bash.org.ru:

 Реклама:

 ©Copyright:
http://www.last.h16.ru - программирование миди. Идея, разработка и поддержка : Mo-skin © 2006-2007
X