Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Графика, звук, видео
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/4: Рейтинг темы: голосов - 4, средняя оценка - 4.50
maybeTM
16 / 15 / 4
Регистрация: 30.10.2014
Сообщений: 171
1

Как определить длительность Mp3 файла. MP3 плеер на библиотеке BASS 2.4

20.06.2015, 18:02. Просмотров 760. Ответов 2
Метки нет (Все метки)

В процессе поиска ответов я наткнулся на эту тему Из бит в секунды...
Судя по всему, создателю той темы она помогла. Но, как мне кажется, я повторил все в точности как в этой теме и у мне не удалось перевести байты в формат 'nn:ss'.
Все функции работают, но возвращают не верное значение.

Delphi
1
2
3
4
5
6
7
8
9
10
11
procedure TForm1.btn2Click(Sender: TObject);
var Time:TDateTime;       // Перевод в формат представления времени, принятый в Delph
    TimeBiteSec:integer; //длительностьв секундах
    TimeBite:Integer;    //длительность в байтах
 //   Minute: integer;
 //   sec: integer;
begin
  TimeBite:=BASS_ChannelGetLength(stream,BASS_POS_BYTE);  // в байты
  TimeBiteSec:=BASS_ChannelSeconds2Bytes(stream,TimeBite);  // в секунды
  Time:=TimeBiteSec /(24 * 60 * 60); // преобразование к формату
  ShowMessage('Длинна файла '+FormatDateTime('nn:ss',Time));
После выполнения процедуры я получаю 43:12. Длина самого трека равняется 05:37. Я понимаю, что я где- то что- то упустил. Пожалуйста помогите разобраться.

Используя этот код, время выводится уже лучше, но присутствует какая то не понятная погрешность.
Delphi
1
2
s:=FormatDateTime ('hh:mm ', BASS_ChannelGetLength(stream,BASS_POS_BYTE) / (1000 * 60 * 60 * 60));
ShowMessage('Âðåìÿ '+s);
Пожалуйста, помогите разобраться.

Добавлено через 5 часов 34 минуты
Иисус помог и я все - таки разобрался
Delphi
1
2
3
    n:=BASS_ChannelBytes2Seconds(stream,BASS_ChannelGetLength(stream,0));
    t:=n/(24*3600);
    edt1.Text:=FormatDateTime('hh:mm:ss',t);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.06.2015, 18:02
Ответы с готовыми решениями:

Как поставить в Mp3 плеере на кнопку окрытие не одного mp3 файла ??
Привет ! У меня такая проблема я пишу mp3 плеер на Delphi и у меня в нём есть...

Как звук из потока сохранить в mp3? Bass.dll
Что использовать? bassenc.dll, lame.dll или что? И как сохранить поток в .mp3?...

Как создать программу MP3 Плеер
Подскажите возможно ли в делфи создать свой MP3 проигрыватель?

Плеер на библиотеке bass
пишу плеер на bass. с воспроизведением формата mp3 проблем не было. но вот...

Mp3 плеер
Здравствуйте кодеры) Ситуация в следующем: написал плеер, работает нормально,...

2
Brokma
0 / 0 / 0
Регистрация: 18.12.2016
Сообщений: 1
01.05.2017, 16:09 2
Подскажите это функции
Time:TDateTime; // Перевод в формат представления времени, принятый в Delph
TimeBiteSec:integer; //длительностьв секундах
TimeBite:Integer; //длительность в байтах
Или переменные используемые в библиотеке Bass?
0
krapotkin
3419 / 3026 / 1047
Регистрация: 14.04.2014
Сообщений: 14,684
Записей в блоге: 15
02.05.2017, 08:15 3
функция это такая штука

function FunctionName(parametr:xxx):resultType;

согласитесь - не очень похоже
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.05.2017, 08:15

mp3 плеер
Написал свой mp3 плеер на делфи но не могу его полноценно использовать. Когда...

Как определить длительность музыкальной композиции в минутах и секундах используя библиотеку bass?
Как определить длительность музыкальной композиции в минутах и секундах...

mp3 плеер наподобие WinAMP'а
Всем привет. В Delphi я программирую около 3 лет, но умею делать только...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru