Урок 45 - Пишем MediaPlayer, часть(5/7)

   Продолжаем совершенствовать наш плеер и этом уроке мы научимся удалять файлы из плей-листа, изменять громкость и другое.

   Сделаем удаление файлов, создаем обработчик события OnClick на кнопке "-" и пишем код:

procedure TForm1.Button6Click(Sender: TObject);
var
	inindex:integer; // Номер выбранного элемента
begin
	inindex:= ListBox1.ItemIndex; // Получаем номер
	ListBox1.Items.Delete(inindex); // Удаляем название трека 
	ListBox2.Items.Delete(inindex); // и удаляем сам путь до файла
		// При удалении последнего фокус теряется, восстанавливаем его 
	if inindex>ListBox1.Items.Count-1 then
	inindex:=ListBox1.Items.Count-1;
	ListBox1.ItemIndex:=inindex;
end;
   Немного удобства, сделаем так, чтобы треки удалялись при нажатии на кнопку Delete, для этого создаем обработчик события OnKeyDown у ListBox1:
procedure TForm1.ListBox1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if key=VK_Delete then // Если была нажата клавише Delete то
 Button6.Click;  // нажимаем на кнопочку "-"
end;
   На заметку: можно зажать Сtrl и кликнуть по слову VK_Delete, вы попадете в юнит где описаны все виртуальные клавиши.

   Далее сделаем чтобы при двойном клике на трек он воспроизводился, создадим обработчик OnDblClick у ListBox1:
procedure TForm1.ListBox1DblClick(Sender: TObject);
begin
PlayItem(listbox1.ItemIndex); // Воспроизводим выбранный трек
end;
   Ну а теперь последнее, громкость, выделяем ScrollBar2 и создаем обработчик события OnScroll:
procedure TForm1.ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;
  var ScrollPos: Integer);
begin
Bass_SetVolume(Scrollbar2.Position/100); // Устанавливаем громкость звука
end;
   В библиотеке Bass макс. громкость = 1, а мин. = 0, т.к. ScrallBar имеет интервал от 0 до 100, то разделив текущее ззначение ScrollBar'а на 100 мы получим значение в интервале от 0 до 1.
Например: текущее ззначение = 65, 65/100 = 0,65. От 0 до 1.

   Ну вот и все, в следующем уроке мы сделаем сохранение плей-листа в файл и его загрузку. Удачи!
Встретимся в следующем уроке!




Добавил(а): Programer Дата: 2013-06-04
Кто знает как написать программу которая измеряет скорость интернета?


    No results found.
Отменить.