Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 18.10.2012, 17:59
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию Оставшееся время BASS

Здравствуйте форумчане! Как реализовать оставшееся время воспроизведения в формате "-00:00:00" ?
Заранее спасибо.
Ответить с цитированием
  #2  
Старый 18.10.2012, 20:00
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Алгоритмически:
1. Вычитаем из длительности трека длительность проигранной части
2. Форматируем как время
3. Выводим, прибавляя в начале "минус".
За кодом - сюда.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
  #3  
Старый 18.10.2012, 20:08
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию

Цитата:
Сообщение от sariman
Здравствуйте форумчане! Как реализовать оставшееся время воспроизведения в формате "-00:00:00" ?
Заранее спасибо.
Могу предложить свой пример. Правда там весь плеер. Но там есть именно то, что вам нужно. Вот часть кода:
Код:
//время проигрывания трека
//считаваем сколько секунд прошло от начала воспроизведения
TrackPos:=BASS_ChannelBytes2Seconds(Channel,BASS_ChannelGetPosition(Channel,0));
//считываем всю длину песню в секундах
TrackLen:=BASS_ChannelBytes2Seconds(Channel,BASS_ChannelGetLength(Channel,0));
//переводим секунды в часы
ValPos:=TrackPos / (24 * 3600);
ValLen:=TrackLen / (24 * 3600);
//Выводим данные о времени на форму в Label1 и Label2
Label1.Caption:=FormatDateTime('hh:mm:ss',ValPos);
Label2.Caption:=FormatDateTime('hh:mm:ss',ValLen);
А внизу весь плеер.
Надеюсь, вам поможет!
Вложения
Тип файла: rar mp3player.rar (313.5 Кбайт, 19 просмотров)
Ответить с цитированием
  #4  
Старый 18.10.2012, 21:49
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

Увы, но в "вашем" примере нет такого, что мне нужно, там просто длина песни есть.

P.S. Я написал слово "ваше" в кавычках, потому что этот исходник вы скачали отсюда.
Ответить с цитированием
  #5  
Старый 18.10.2012, 21:52
Аватар для sariman
sariman sariman вне форума
Активный
 
Регистрация: 19.11.2011
Адрес: Украина, Луганская обл.
Сообщения: 244
Версия Delphi: 7, XE, Lazarus
Репутация: выкл
По умолчанию

Цитата:
Сообщение от PhoeniX
Алгоритмически:
1. Вычитаем из длительности трека длительность проигранной части
2. Форматируем как время
3. Выводим, прибавляя в начале "минус".
За кодом - сюда.

Спасибо, алгоритм я себе представляю, но вот с пунктом 2 у меня проблемка, не подскажите? Заранее спасибо.
Ответить с цитированием
  #6  
Старый 18.10.2012, 23:06
Аватар для YVitaliy
YVitaliy YVitaliy вне форума
Местный
 
Регистрация: 14.12.2011
Сообщения: 481
Версия Delphi: Borland Delphi7
Репутация: 17
По умолчанию

Так Dmitry_DM (откуда он бы тот код не взял) просто и наглядно обьяснил что к чему. Нужно просто внимательно прочитать пост. Останется только "-" добавить.
Ответить с цитированием
  #7  
Старый 19.10.2012, 08:29
Dmitry_DM Dmitry_DM вне форума
Активный
 
Регистрация: 07.08.2012
Сообщения: 258
Версия Delphi: Delphi 7
Репутация: 11
По умолчанию

Цитата:
Сообщение от YVitaliy
Так Dmitry_DM (откуда он бы тот код не взял) просто и наглядно обьяснил что к чему. Нужно просто внимательно прочитать пост. Останется только "-" добавить.
Ну вот именно. Я же говорю, что там время в том формате, что нужно sariman. Просто минус надо добавить. А на счет "своести" кода: да, это просто урок. Я по нему свою программу создал. Даже переделал.

Последний раз редактировалось Dmitry_DM, 19.10.2012 в 16:55.
Ответить с цитированием
  #8  
Старый 19.10.2012, 14:55
Аватар для PhoeniX
PhoeniX PhoeniX вне форума
Always hardcore!
 
Регистрация: 04.03.2009
Адрес: СПб
Сообщения: 3,239
Версия Delphi: GCC/FPC/FASM
Репутация: 62149
По умолчанию

Цитата:
Сообщение от sariman
с пунктом 2 у меня проблемка, не подскажете?
Подскажу, если опишете суть проблемы.
TimeToStr.
__________________
Оставайтесь хорошими людьми...
VK id2634397, ds [at] phoenix [dot] dj
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:46.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter