![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
|||
|
|||
|
Я пишу медиа плеер на 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; |
|
#3
|
|||
|
|||
|
Спасибо большое !!!
|