![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
|
|
#1
|
|||
|
|||
|
Здравствуйте! Мне ОЧЕНЬ нужна Ваша помощь, Опытные Программисты! Я пишу курсовую работу, в которой необходимо создать свой мультимедийный проигрыватель, используя компоненты, находящиеся в поставке Delphi 7.0 (использовать посторонние компоненты запрещается). Так вот, часть работы я уже сделал. Осталось только:
Во-первых, регулятор громкости, используя компонент TTrackBar. На Вашем сайте я прочитал несколько статей по этому поводу и получалось так, что либо примеры были не рабочими, либо регулировали в "Общей громкости" Windows'а бегунок "Общая" или "Звук". Подскажите, пожалуйста: как сделать так, чтобы уровень громкости регулировался только в медиаплеере(как, например, в Windows Media Player, Winamp, Total Video Player и т.д.) и не трогали бегунки в "Общей громкости". Во-вторых, полоса навигации по файлу. В этом плане у меня есть предположение, что нужно использовать TScrollBar, но не знаю как точно это сделать. Заранее благодарен! |
|
#2
|
|||
|
|||
|
копай в эту сторону
это звук Код:
function GetMPVolume(MP: TMediaPlayer): Integer;
procedure SetMPVolume(MP: TMediaPlayer; Volume: Integer);
uses
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;
procedure SetMPVolume(MP: TMediaPlayer; Volume: Integer);
{ Volume 0 - 1000 !!!}
var
MP_PARAMS: MCI_DGV_SETAUDIO_PARMS;
begin
MP_PARAMS.dwCallback := 0;
MP_PARAMS.dwItem := MCI_DGV_SETAUDIO_VOLUME;
MP_PARAMS.dwValue := Volume;
MP_PARAMS.dwOver := 0;
MP_PARAMS.lpstrAlgorithm := nil;
MP_PARAMS.lpstrQuality := nil;
mciSendCommand(MP.DeviceID, MCI_SETAUDIO,
MCI_DGV_SETAUDIO_VALUE or MCI_DGV_SETAUDIO_ITEM, Cardinal(@MP_PARAMS));
end;
function GetMPVolume(MP: TMediaPlayer): Integer;
var
MP_PARAMS: MCI_STATUS_PARMS;
begin
MP_PARAMS.dwCallback := 0;
MP_PARAMS.dwItem := MCI_DGV_STATUS_VOLUME;
mciSendCommand(MP.DeviceID, MCI_STATUS, MCI_STATUS_ITEM, Cardinal(@MP_PARAMS));
Result := MP_PARAMS.dwReturn;
end;А прокрутку MediaPlayer1.Position и MediaPlayer1.Length |
|
#3
|
|||
|
|||
|
Спасибо большое за направление! Попробую...
P.S.:Извините конечно, но не могли бы вы пожалуйста оставлять комментарии в коде: для чего вписана та или иная строка кода и что она означает. Мне бы так было НАМНОГО понятней. Кроме того, у меня требуют, чтобы в коде программы в курсовой работе были оставлены комментарии к тем или иным строкам кода. Заранее благодарю! Последний раз редактировалось Vikentiy, 30.11.2009 в 13:06. |