|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
HELP с настройками
Я пишу медиа плеер на Bass.dll (совсем простой конечно). У меня 2 вопроса:
Как реализовать регулятор громкости ? (только чтобы громкость регулировалась плавно, без рывков, т.к. я сколько не искал, не нашел кода, который бы отвечал этому требованию !!!) Как сделать, чтобы при выходе из программы, её настройки сохранялись, а при запуске вновь загружались ? (сохранить можно в INI фаил в каталоге с прогой), а также сохранялось содержимое плей-листа ? ЗЫ. Сколько я не искал ответ на этот вопрос - нигде не нашёл, либо очень сложно (работа с реестром), либо на англ. языке. Если можно, то ответьте пожайлуста подробнее, и с кодом. (если не жалко его). Заранее спасибо ! |
#2
|
||||
|
||||
Изменение громкости через ScrollBar (диапозон от 0 до 100):
Код:
uses MMSystem; procedure SetVolume(const volL, volR: Word); var hWO: HWAVEOUT; waveF: TWAVEFORMATEX; vol: DWORD; begin // init TWAVEFORMATEX FillChar(waveF, SizeOf(waveF), 0); // open WaveMapper = std output of playsound waveOutOpen(@hWO, WAVE_MAPPER, @waveF, 0, 0, 0); vol := volL + volR shl 16; // set volume waveOutSetVolume(hWO, vol); waveOutClose(hWO); end; procedure TForm1.ScrollBar1Change(Sender: TObject); var min, max, v: word; begin min:= 0; max:= 65535; v:= Round(((Max-Min)/100)*ScrollBar1.Position+Min); SetVolume(v,v); end; Код:
uses IniFiles; //запись в INI procedure TForm1.Button1Click(Sender: TObject); var Ini: TIniFile; begin Ini:= TIniFile.Create('c:\ss.ini'); try Ini.WriteString('sec', 'id', 'строка'); finally Ini.Free; end; end; //чтение из INI procedure TForm1.Button2Click(Sender: TObject); var Ini: TIniFile; s: string; begin Ini:= TIniFile.Create('c:\ss.ini'); try s:= Ini.ReadString('sec', 'id', 'не найдено'); finally Ini.Free; end; ShowMessage(s); end; Начинающий программист уверен, что в 1 килобайте 1000 байт.
Законченный программист уверен, что в 1 километре 1024 метра. |
#3
|
|||
|
|||
Спасибо большое !!!
|