{{notification.text}}

MirGames

 
16.03.16 13:03, опубликовал

Привет. Это мой первый туториал, поэтому не будем тратить время на бессмысленную болтовню и перейдем сразу к делу.
Наверняка вам когда либо нужен был звук в своей программе / игре, но таких тяжеловесов как DirectSound или XAudio подключать не хотелось, да и в изучении они сложны для неопытного новичка.
Цель данного туториала объяснить о подсистеме WinMM и Microsoft Media Control Interface(MCI).
Для начала необходимо подключить зголовочный файл мультимедиа подсистемы Windows:

#include "win/mmsystem.bi"

сам по себе MCI может работать в нескольких режимах:
CDAudio - музыка на CD
WaveAudio - звук в формате wav, mp3, ogg
Video - AVI

долой объяснения, перейдем к коду
Для начала нам необходимо загрузить звуковой буфер из файла:

Dim hres as HRESULT
hres = mciSendString("open C:/Windows/Media/tada.wav alias MyMusic", NULL, NULL, NULL)
if HRES <> 0 then
  ' Здесь обработчик ошибки

эта строка пошлет команду мультимедийной системе WIndows что нам надо загрузить файл C:Windows/Media/tada.wav.
При этом если функция не вернула 0, это значит что произошла ошибка.
Чтобы проиграть наш звуковой буфер асинхронно нам достаточно послать другую команду MCI:

Dim hres as HRESULT
hres = mciSendString("play MyMusic", NULL, NULL, NULL)
if HRES <> 0 then
  ' Здесь обработчик ошибки

Если в процессе выполнения программы звук вам стал больше не нужен - отправьте команду close:

    Dim hres as HRESULT
hres = mciSendString("close MyMusic", NULL, NULL, NULL)
if HRES <> 0 then
  ' Здесь обработчик ошибки

вот и все :) как видите все легко. Этот код с небольшими модификациями применим к любому ЯП

Тэги

Последние комментарии

Normal Mapping visualization
@egslava, не там проверяешь, проверять надо в городе Ф.
19.04.17 19:42, nbaksalyar
Normal Mapping visualization
@Said, ну, я проверил, чот не особо.
19.04.17 17:59, egslava
Normal Mapping visualization
В оффлайне. Там тоже есть жизнь.
17.04.17 07:51, Said
Normal Mapping visualization
@Dron
16.04.17 14:07, egslava
Normal Mapping visualization
А-то! ;-) Ты лучше скажи, куда вы все подевались и где жизнь теперь? :-)
15.04.17 20:18, egslava
Normal Mapping visualization
На мирге еще теплится жизнь 0_о
14.04.17 12:15, DRON
История mirgames в лицах #2.
Ох! Spose, XProger, спасибо большое! Просто невероятное удовольствие от прочтения! Блин, а ведь я всё время думал, что XProger не играл особ...
05.02.17 02:21, egslava
NYX14!
07.06.16 23:00, egslava
История mirgames в лицах
Блииин... я тоже начинал в 14 лет с DelphiX на mirgames... ностальгия такая...
26.10.15 17:15, DRON
История mirgames в лицах
Отличная идея! Буду ждать продолжения.
14.09.15 18:19, nbaksalyar