Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
ВнизВопросы по компоненту MediaPlayer Найти похожие ветки
← →
Flood_control © (2007-02-13 15:12) [0]Здравствуйте у меня такой вопрос, как сделать так что бы мой компонент MediaPlayer1 воспроизводил медиафайл не однократно, либо указаное число раз, либо бесконечно? (медиафайл с вспике 1)
И возможно ли както сделать так что бы громкость воспроизведения с начала воспроизведение пошагово увеличивалась до определенного максимума?
← →
Observer © (2007-02-13 16:30) [1]procedure TForm1.Timer1Timer(Sender: TObject);
begin
with MediaPlayer1 do
if FileName<>"" then
Gauge1.Progress:=Round(100*Position/Length);
end;
if Gauge1.Progress:=100 then MediaPlayer1.Play;
Gauge1 находится на вкладке Samples
← →
Сергей М. © (2007-02-13 16:33) [2]
> [1]
Новая ОС - в действии)
← →
Observer © (2007-02-13 16:34) [3]Зачем сразу ОС?
← →
Сергей М. © (2007-02-13 16:40) [4]ну а что такими "мелочами" заниматься ?
Сразу - ОС. что уж там мелочиться)... Да сразу на АСМ, иначе никак)
Не ты ли, чудо, трындел намедни в "Прочее" про ОС на "чем-то там" написанную ?)
Ты, дружок, ты)
← →
Flood_control © (2007-02-13 17:02) [5]Observer ©
Благодарствую за помощь, а на счет постепенного увеличения звука не подскажешь? К примеру как только начинается медиафайл воспроизводиться звук к примеру составляет 30% и через каждую секунду увеличивался на 1-2%?
← →
Tifon © (2007-02-13 17:56) [6]если тебе все равно каким методо увеличивать громкость тогда держи
INT GetMasterVolumeControlID()
{
// get dwLineID
MIXERLINE mxl;
mxl.cbStruct = sizeof(MIXERLINE);
mxl.dwComponentType = MIXERLINE_COMPONENTTYPE_DST_SPEAKERS;
if (::mixerGetLineInfo((HMIXEROBJ)ghmx, &mxl,
MIXER_OBJECTF_HMIXER | MIXER_GETLINEINFOF_COMPONENTTYPE)
!= MMSYSERR_NOERROR)
return 34;
// get dwControlID
MIXERCONTROL mxc;
MIXERLINECONTROLS mxlc;
mxlc.cbStruct = sizeof(MIXERLINECONTROLS);
mxlc.dwLineID = mxl.dwLineID;
mxlc.dwControlType = MIXERCONTROL_CONTROLTYPE_VOLUME;
mxlc.cControls = 1;
mxlc.cbmxctrl = sizeof(MIXERCONTROL);
mxlc.pamxctrl = &mxc;
if (::mixerGetLineControls((HMIXEROBJ)ghmx, &mxlc,
MIXER_OBJECTF_HMIXER | MIXER_GETLINECONTROLSF_ONEBYTYPE)
!= MMSYSERR_NOERROR)
return 34;
return mxc.dwControlID;
}
BOOL SetMasterVolume(DWORD dwVolume)
{
MIXERCONTROLDETAILS mxcd;
MIXERCONTROLDETAILS_UNSIGNED mxcd_u;
mxcd.cbStruct = sizeof(mxcd);
mxcd.dwControlID = MasterVolumeControlID;
mxcd.cChannels = 1;
mxcd.cMultipleItems = 0;
mxcd.cbDetails = 4;
mxcd.paDetails = &mxcd_u;
mmr = mixerGetControlDetails((HMIXEROBJ)ghmx, &mxcd, 0L);
if (MMSYSERR_NOERROR != mmr) return FALSE;
mxcd_u.dwValue = dwVolume;
mmr = mixerSetControlDetails((HMIXEROBJ)ghmx, &mxcd, 0L);
if (MMSYSERR_NOERROR != mmr) return FALSE;
return TRUE;
}
Переписывать на Delphi, думаю, ни к чему. Надо лишь не забыть добавить uses MMSystem; Громкость отдельных каналов очень просто устанавливается через auxSetVolume и аналогичные.
Код не мой, но думаю рабочий
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.044 c