Как работать с плейлистом в delphi на библиотеке BASS.DLL?
|
|
xaramamburu | Дата: Среда, 25.12.2013, 12:33 | Сообщение # 106 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| If trim(переменная) = '' then бла-бла-бла Возможно придется проверить еще и на Null .)))))
|
|
| |
Vlad | Дата: Среда, 25.12.2013, 16:27 | Сообщение # 107 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| написал вот так: Код if trim (copy(readID3Tag(sListbox1.Items[index]).Artist) = null then TextOut(Rect.Left + w, Rect.Top, IntToStr(Index+1) + '. ' + copy(ExtractFileName(sListbox1.Items[index]),1,45)); пишет Not enough actual parameters
|
|
| |
xaramamburu | Дата: Среда, 25.12.2013, 17:05 | Сообщение # 108 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| А зачем здесь функция copy? if trim ((readID3Tag(sListbox1.Items[index]).Artist) = '' then TextOut(Rect.Left + w, Rect.Top, IntToStr(Index+1) + '. ' + copy(ExtractFileName(sListbox1.Items[index]),1,45));
|
|
| |
Vlad | Дата: Понедельник, 30.12.2013, 18:24 | Сообщение # 109 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| это делается только на Artist, а как сделать, чтобы и на Title тоже
|
|
| |
xaramamburu | Дата: Вторник, 31.12.2013, 13:42 | Сообщение # 110 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| Точно также.)))
|
|
| |
Vlad | Дата: Пятница, 28.03.2014, 23:04 | Сообщение # 111 |
Лейтенант
Группа: Пользователи
Сообщений: 57
Статус: Offline
| я создал в listbox прямоугольник, который выделяет проигрываемый трек. вот код: Font.Color := clRed; Font.Size := 9; Brush.Style := bsClear; Pen.Color := clBLue; Rectangle(Rect); как его залить цветом?
|
|
| |
Risk | Дата: Вторник, 20.05.2014, 23:32 | Сообщение # 112 |
Рядовой
Группа: Пользователи
Сообщений: 2
Статус: Offline
| Есть вопрос. Мне нужно изменить, что бы вместо направление пути трэка в листбоксе, писало название самой музыки, формат и время которое оно всего идет. Вопросы выше уже были, читал, пробовал да что-то не получается. Вот код: Код function Tform_player.lentime(filename1:string):string; var TrackLen: Double; ValLen: Double; Channel1 : DWORD; begin //освобаждаем канал BASS_StreamFree(Channel1); //пытаемся загрузить файл и получить дескриптор канала Channel1 := BASS_StreamCreateFile(FALSE, PChar(FileName1), 0, 0, 0 {$IFDEF UNICODE} or BASS_UNICODE {$ENDIF}); //получаем время воспроизведения TrackLen:=BASS_ChannelBytes2Seconds(Channel1,BASS_ChannelGetLength(Channel1,BASS_POS_BYTE)); ValLen:=TrackLen / (24 * 3600); Lentime:=FormatDateTime('hh:mm:ss',ValLen); //освобаждаем канал BASS_StreamFree(Channel1); end; function TForm_player.MinToSec(tim: string): string;
var n: integer; a: string; begin n := 1; a := ''; repeat a := a + tim[n]; Inc(n); until tim [n]= ':'; Delete(tim, 1, Length(a) + 1); result := IntToStr((StrToInt(a) * 60) + StrToInt(tim)); end; Точно такой же как и писали выше. Процедуры все указаны, программа запускается, только ничего не происходит. Помогите пожалуйста. Может я что-то не то делаю..
|
|
| |
xaramamburu | Дата: Среда, 21.05.2014, 16:40 | Сообщение # 113 |
Полковник
Группа: Администраторы
Сообщений: 240
Статус: Offline
| Risk, функцию function Tform_player.lentime(filename1:string):string; нужно вызывать из процедуры отрисовки плейлиста procedure TForm_player.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState);
Саму процедуру отрисовки можно посмотреть здесь http://basicsprog.ucoz.ru/publ/6-1-0-20 сообщение 65 или в этой ветке форума выше она несколько раз проскакивает в обсуждении.)))
|
|
| |
neobot | Дата: Суббота, 02.06.2018, 16:11 | Сообщение # 114 |
Рядовой
Группа: Пользователи
Сообщений: 1
Статус: Offline
| А как вычислить продолжительность всех треков в списке?
|
|
| |