Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2010, 19:10   #1
Дворник
Заблокирован
 
Регистрация: 03.08.2010
Сообщений: 30
Восклицание BAss.dll Знаю тема где-то перетералась! Но!

1. Как все-таки сделать автоматический переход на следующий трек в плей-листе ?
2. Как перевисти 414 сек в образ HH:MM:SS ?

Пожалуйста, не закрывайте subject!
Дворник вне форума Ответить с цитированием
Старый 03.08.2010, 20:38   #2
DomiNick
Студент, не
Старожил
 
Аватар для DomiNick
 
Регистрация: 29.01.2009
Сообщений: 2,067
По умолчанию

Цитата:
Как перевисти 414 сек в образ HH:MM:SS ?
Вы меня удивили.....
Сколько в минуте секунд? А минут в часе?
Есть конечно готовые VCL'овские функции, но тут-то Div/Mod вполне хватает...
А разве не из миллисекунд?
I am the First of Cyber Evolution...
I am the First to Program your Future...
DomiNick вне форума Ответить с цитированием
Старый 03.08.2010, 23:37   #3
Дворник
Заблокирован
 
Регистрация: 03.08.2010
Сообщений: 30
По умолчанию

Прадон. Я наверное перефразирую, а то и впрямь лабудень. ( Итак конкретно вопрос:
1. Как узнать длину трека и визуально отобразить в Мин:Сек ?
2. Как сделать автоматический переход к следующему треку в ПлейЛисте ?

два вопроса, ниче ?? ))
Дворник вне форума Ответить с цитированием
Старый 04.08.2010, 10:43   #4
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Цитата:
Сообщение от Дворник Посмотреть сообщение
Прадон. Я наверное перефразирую, а то и впрямь лабудень. ( Итак конкретно вопрос:
1. Как узнать длину трека и визуально отобразить в Мин:Сек ?
2. Как сделать автоматический переход к следующему треку в ПлейЛисте ?

два вопроса, ниче ?? ))
1.
Код:
function qbass_gettime(const Channel: DWORD): DWORD;
var
  pPos: Cardinal;
  AllTime: Cardinal;
begin
  Result := 0;
  pPos := BASS_ChannelGetLength(Channel, BASS_POS_BYTE);
  if (pPos > 0) then
  begin
    Alltime := Trunc(BASS_ChannelBytes2Seconds(Channel, pPos));
    Result := Alltime;
  end;
end;
Код:
function qbass_formattime(const Sec: Integer;
  const IsURL: boolean): string;
(*******************************************
* RESULT: " 99:99" | "999:99" * | " Radio" *
*******************************************)
const
  time = ' 00:00';
  radio = ' Radio';
  null = '      ';
var
  H, M, S: Integer;
  Return: string;
begin
  if Sec = -1 then Return := null
  else if Sec < 0 then Return := time
  else if IsURL then Return := radio
  else begin
    H := Sec div 3600;
    S := Sec mod 3600;
    M := S div 60;
    M := M + (H * 60);
    S := (S mod 60);
    if M > 99 then Return := Format('%3d:%2.2d', [M, S])
    else Return := Format('%2.2d:%2.2d', [M, S]);
  end;
  Result := Return;
end;
2.
Код:
procedure SyncMsg(Handle: HSync; Channel, Data: DWORD; User: Pointer); stdcall;
begin
   PostMessage(xx.Handle, тут твое сообщение, 0, 0);
end;
после создании нового канала

Код:
BASS_ChannelSetSync(твои канал, BASS_SYNC_END or BASS_SYNC_MIXTIME, 0, SyncMsg, nil);
и все что осталось отловить сообщение которое будет послано при окончании трека
ZuBy вне форума Ответить с цитированием
Старый 04.08.2010, 15:46   #5
Дворник
Заблокирован
 
Регистрация: 03.08.2010
Сообщений: 30
По умолчанию

А если я просто буду использловать тогда сравнение Position и Length для перехода на следующий трек, это не будет программерски безграмотным подходом ?? ))
Дворник вне форума Ответить с цитированием
Старый 05.08.2010, 14:03   #6
ZuBy
Участник клуба
 
Аватар для ZuBy
 
Регистрация: 29.09.2008
Сообщений: 1,234
По умолчанию

Цитата:
Сообщение от Дворник Посмотреть сообщение
А если я просто буду использловать тогда сравнение Position и Length для перехода на следующий трек, это не будет программерски безграмотным подходом ?? ))
это как минимуму будет тупо)
ZuBy вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
bass.dll larry Общие вопросы C/C++ 1 09.11.2009 13:23
Ошибка при выхове функций Bass.dll из другой DLL SalasAndriy Общие вопросы Delphi 7 21.10.2009 23:36
BASS DLL ygy Мультимедиа в Delphi 4 29.09.2009 04:39
BASS.DLL VintProg Мультимедиа в Delphi 2 21.09.2009 16:36
bass.dll Elem Мультимедиа в Delphi 18 19.07.2009 11:04