|
|
Регистрация | << Правила форума >> | 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. |