![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ListBox!!!!!!!!! [D6, XP]
LaDaN © (2006-05-24 01:39:00)Привет всем! Помогите пожалуйста, у меня такая проблема: Я делаю медиа-плеер и для плей-листа использую ListBox, так вот, не могу сделать так, чтобы при нажатии на какую-либу строку проигровался этот же трек. Например клацаю мышью на 5ю строку и проигровался тот трек путь которого записан в 5й строке, вот.
И еще, как можно регулировать громкость?
Ladan (2006-05-26 13:14:00) [1]Почему-то пишет на постой "Звуковые устройства не доступны" :(
Ladan (2006-05-26 12:50:00) [2]antonn т.е. TrackBar1.max:=65535 ???
antonn (2006-05-26 06:34:00) [3]Ladan (26.05.06 1:04) [17]
меняется, интервал 0..65535, если не ошибаюсь...
Ladan (2006-05-26 01:04:00) [4]Virgo_Style
SetVolume(TrackBar1.Position);
Так не работает, громкость не меняется :(
Virgo_Style (2006-05-25 22:06:00) [5]Apcer (25.05.06 21:13) [15]
.ItemIndex = -1; (.Items.Count-1);
Может, переименовать "начинающих" в "нечитающих" ? %-)
Apcer (2006-05-25 21:13:00) [6]Еще вопрос про listBox
Что и каое значение будет принимать когда в listbox ничего не выделено? И как определить конечную строку, в смысле последний индекс?
Ladan (2006-05-25 16:21:00) [7]Что-то типа токого?
SetVolume(TrackBar1.Position);
antonn (2006-05-25 07:13:00) [8]Ladan (24.05.06 23:21) [12]
GetVolume - узнаешь текущий уровень, SetVolume() устанавливаешь свой уровень ()
рекомендую найти компонент TAudioMixer (AMixer.pas), он позволит много где подкрутить громкость, и сам реагирует на изменение громкости в системе.
Ladan (2006-05-24 23:21:00) [9]
> antonn © (24.05.06 18:39) [11]
> Ladan (24.05.06 18:25) [9]alex-drob а как этой процедурой
> пользоваться?вставить в procedure TForm1.ListBox1Click(Sender:
> TObject);begin//end;
Я про регулирование звука :)
antonn (2006-05-24 18:39:00) [10]Ladan (24.05.06 18:25) [9]
alex-drob а как этой процедурой пользоваться?
вставить в
procedure TForm1.ListBox1Click(Sender: TObject);
begin
//
end;
antonn (2006-05-24 18:38:00) [11]Ladan (24.05.06 18:24) [8]
Это плагиат :) Нет, спосибо.
нет, это всего лишь корыстная жажда наживы :))
Ladan (2006-05-24 18:25:00) [12]antonn
Это плагиат :) Нет, спосибо.
alex-drob а как этой процедурой пользоваться?
Ladan (2006-05-24 18:24:00) [13]antonn
Это плагиат :) Нет, спосибо.
alex-drob а как этой процедурой пользоваться?
antonn (2006-05-24 17:23:00) [14]Ladan (24.05.06 16:36) [5]
ну дык для себя и найдешь там необходимый код (и даже чуть больше) :) кое где коментарии пробиваются:)
Ladan (2006-05-24 16:39:00) [15]alex-drob Огромное спасибо! Только ListBox1.Items[ListBox1.ItemIndex] это числовое значение, а путь строковое :)
Скорее так:
> tr:=ListBox2.ItemIndex;
> with MediaPlayer1 do
> begin
> Filename := ListBox1.Items.Strings[tr];
> Open;
> Display := form3;
> DisplayRect := form3.ClientRect;
> Play;
> end;
Ladan (2006-05-24 16:36:00) [16]antonn
Я делаю для себя
antonn (2006-05-24 10:25:00) [17]к [3]
демо exe: http://an-files.narod.ru/_files/demoPL.rar(198Кб)
к модератору - сорри, жисть заставляет заниматься этим:)
antonn (2006-05-24 09:57:00) [18]LaDaN (24.05.06 1:39)
продам готовый курсач по этой теме. недорого. качественно.
:)
</code> (2006-05-24 02:23:00) [19]>И еще, как можно регулировать громкость?
uses mmsystem;
procedure SetVolume(X: Word);
var
iErr : Integer;
i: integer;
a: TAuxCaps;
begin
for i := 0 to auxGetNumDevs do begin
auxGetDevCaps(i,Addr(a),SizeOf(a));
If a.wTechnology = AUXCAPS_CDAUDIO Then break;
end;
// Устанавливаем одинаковую громкость для левого и правого каналов.
// VOLUME := LEFT*$10000 + RIGHT*1
iErr:=auxSetVolume(i,(X*$10001));
if (iErr<>0) then ShowMessage('No audio devices are available!');
end;
function GetVolume: Word;
var
iErr : Integer;
i: integer;
a: TAuxCaps;
vol: word;
begin
for i := 0 to auxGetNumDevs do begin
auxGetDevCaps(i,Addr(a),SizeOf(a));
If a.wTechnology = AUXCAPS_CDAUDIO Then break;
end;
iErr:=auxGetVolume(i,addr(vol));
GetVolume := vol;
if (iErr<>0) then ShowMessage('No audio devices are available!');
end;
alex-drob (2006-05-24 01:48:00) [20]procedure TForm1.ListBox1Click(Sender: TObject);
begin
Путь:=ListBox1.Items[ListBox1.ItemIndex]
end;