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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

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

Уважаемые эксперты здравствуйте. Я пишу програмку аудио плеера. Для реализации изменения уровня громкости я нашел вот эти процедуры. Все работает как часы.
Проблема в том, что я не могу понять, откуда и что здесь берется…
Как то обидно использовать это без понятия что есть что...
Сам я почти ламер в делфи, и таких команд у модуля 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 вне форума Ответить с цитированием
Старый 13.12.2009, 18:08   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Достаточно просто и самому во всем этом разобраться.
Ставим курсор на любой непонятный термин и жмем F1.
Если в строке поиска в открывшейся формочке пусто - жмем отмену, затем Файл->Открыть и открываем вручную файл WIN32.HLP.
В нем все непонятные вам MCI_SETAUDIO и прочие подробно расписаны.
mihali4 вне форума Ответить с цитированием
Старый 13.12.2009, 21:27   #3
Cvin
Новичок
Джуниор
 
Регистрация: 13.12.2009
Сообщений: 3
По умолчанию

спасибо и на этом mihali4
Cvin вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Media Player и Архиватор Anton07 Помощь студентам 3 07.12.2009 14:32
Вопрос по windows media player. multik Софт 0 02.11.2008 13:03
Помогите с Media Player-ом в C# Dimitsuri Общие вопросы .NET 4 25.05.2008 22:37
Media player Rio309 Компоненты Delphi 4 18.02.2008 01:19