Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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;


Наверх

Титульная страница Поиск, карта сайта Написать письмо