Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.12.2009, 17:33   #1
Cvin
Новичок
Джуниор
 
Регистрация: 13.12.2009
Сообщений: 3
По умолчанию Звук

Решил продублировать свой вопрос. Модератор не ругайся пожалуйста....

Уважаемые эксперты здравствуйте. Я пишу програмку аудио плеера. Для реализации изменения уровня громкости я нашел вот эти процедуры.
Проблема в том, что я не могу понять, откуда и что здесь берется… Сам я почти ламер в делфи, и таких команд в модуле mmsystem вообще не знаю, и что за значения присвоенны константам тоже совсем не понятно.
Если кто ни будь мне объяснит что откуда и куда буду очень благодарен, или хотя бы скажет в какой стороне мне самому поискать.
Они на самом деле очень популярны, я этот кусок кода видел на многих форумах. Но ремарок негде нет.

const
MCI_SETAUDIO = $0873;
MCI_DGV_SETAUDIO_VOLUME = $4002;
MCI_DGV_SETAUDIO_ITEM = $00800000;
MCI_DGV_SETAUDIO_VALUE = $01000000;
MCI_DGV_STATUS_VOLUME = $4019;
type
MCI_DGV_SETAUDIO_PARMS = record
dwCallback: DWORD;
dwItem: DWORD;
dwValue: DWORD;
dwOver: DWORD;
lpstrAlgorithm: PChar;
lpstrQuality: PChar;
end;
type
MCI_STATUS_PARMS = record
dwCallback: DWORD;
dwReturn: DWORD;
dwItem: DWORD;
dwTrack: DWORD;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}

procedure SetMPVolume(MP: TMediaPlayer; Volume: Integer);
var
p: MCI_DGV_SETAUDIO_PARMS;
begin
p.dwCallback := 0;
p.dwItem := MCI_DGV_SETAUDIO_VOLUME;
p.dwValue := Volume;
p.dwOver := 0;
p.lpstrAlgorithm := nil;
p.lpstrQuality := nil;
mciSendCommand(MP.DeviceID, MCI_SETAUDIO,
MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@p));
end;

function GetMPVolume(MP: TMediaPlayer): Integer;
var
p: MCI_STATUS_PARMS;
begin
p.dwCallback := 0;
p.dwItem := MCI_DGV_STATUS_VOLUME;
mciSendCommand(MP.DeviceID, MCI_STATUS, MCI_STATUS_ITEM, Cardinal(@p));
Result := p.dwReturn;
end;
Cvin вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Звук в 7 Sparky Windows 1 28.11.2009 10:44
Звук L_M Gamedev - cоздание игр: Unity, OpenGL, DirectX 2 03.06.2008 23:50
Звук Cabal777 Помощь студентам 3 28.12.2007 23:42
звук и делфи, левый правый звук snusmumric Win Api 2 29.10.2007 11:10