Страниц: [1] 2
Автор Тема: Вопросы по библиотеке Bass.dll  (Прочитано 1391 раз)
0 Пользователей и 1 Гость смотрят эту тему.
SnoopBill
Пользователь
***

Репутация: 2
Offline Offline

Пол: Мужской
Сообщений: 81


Delphi Forever...


Просмотр профиля
« : Март 06, 2010, 04:40:30 »

Народ все привет Улыбающийся... как можно перевести длину потока BASS_ChannelGetLength(Имя потока,0); в минуты.... Подмигивающий
Записан


urahara
Гуру
******

Репутация: 147
Offline Offline

Пол: Мужской
Сообщений: 629


I'm Going to Kill All of You!


Просмотр профиля WWW
« Ответ #1 : Март 06, 2010, 06:18:14 »

юзай:
BASS_ChannelBytes2Seconds
Записан

Сайт проекта X Audio Player: https://sites.google.com/site/xaudioplayer/

SnoopBill
Пользователь
***

Репутация: 2
Offline Offline

Пол: Мужской
Сообщений: 81


Delphi Forever...


Просмотр профиля
« Ответ #2 : Март 06, 2010, 06:43:10 »

юзай:
BASS_ChannelBytes2Seconds

Вот код..
Код:
procedure TForm1.Timer2Timer(Sender: TObject);
var
   TrackTime:FLOAT;
   TrackPos:integer;
begin
TrackPos:=BASS_ChannelGetPosition(chan_bass_wma,0);
TrackTime:=BASS_ChannelBytes2Seconds(chan_bass_wma,TrackPos);
Form1.sEdit1.Text:=FloatToStr(TrackTime);
end;
Но число слишком большое получается... Может есть другой способ?НепонимающийНепонимающийНепонимающий??
Записан


urahara
Гуру
******

Репутация: 147
Offline Offline

Пол: Мужской
Сообщений: 629


I'm Going to Kill All of You!


Просмотр профиля WWW
« Ответ #3 : Март 06, 2010, 06:55:44 »

так будет корректней:
Код:
var
   TrackTime:Double;
   TrackPos:int64;
begin
TrackPos:=BASS_ChannelGetPosition(chan_bass_wma,BASS_POS_BYTE);
TrackTime:=BASS_ChannelBytes2Seconds(chan_bass_wma,TrackPos);
Form1.sEdit1.Text:=FloatToStr(TrackTime);
end;
число в секундах, если тебя смущает остаток то удали его, а число как раз такое которое и должно быть.
« Последнее редактирование: Март 06, 2010, 06:59:01 от urahara » Записан

Сайт проекта X Audio Player: https://sites.google.com/site/xaudioplayer/

SnoopBill
Пользователь
***

Репутация: 2
Offline Offline

Пол: Мужской
Сообщений: 81


Delphi Forever...


Просмотр профиля
« Ответ #4 : Март 07, 2010, 02:23:58 »

так будет корректней:
Код:
var
   TrackTime:Double;
   TrackPos:int64;
begin
TrackPos:=BASS_ChannelGetPosition(chan_bass_wma,BASS_POS_BYTE);
TrackTime:=BASS_ChannelBytes2Seconds(chan_bass_wma,TrackPos);
Form1.sEdit1.Text:=FloatToStr(TrackTime);
end;
число в секундах, если тебя смущает остаток то удали его, а число как раз такое которое и должно быть.


Спасибо... Улыбающийся
Записан


SnoopBill
Пользователь
***

Репутация: 2
Offline Offline

Пол: Мужской
Сообщений: 81


Delphi Forever...


Просмотр профиля
« Ответ #5 : Март 07, 2010, 02:25:09 »

Народ кто знает можно ли связать BASS_ChannelGetLevel() с ProgressBar'ом?НепонимающийНепонимающийНепонимающий??
Записан


ZuBy
Гуру
******

Репутация: 76
Offline Offline

Пол: Мужской
Сообщений: 657


http://zubymplayer.com


Просмотр профиля WWW
« Ответ #6 : Март 07, 2010, 02:35:18 »

var
Level, LevelL, LevelR : DWORD;
begin
  Level := BASS_ChannelGetLevel(Channel);
  LevelR := MulDiv(100, HIWORD(Level), 32768);
  LevelL := MulDiv(100, LOWORD(Level), 32768);

  progressL.position := levelL;
  progressR.position := levelR;
  {progressL/R.max := 100;}
end;

примерно так)
Записан

ZMSystem - Open Source Project
all for multimedia developers (http://zubymplayer.com)

CodeMaster
Гость
« Ответ #7 : Март 07, 2010, 03:49:47 »

Цитировать
var
Level, LevelL, LevelR : DWORD;
begin
  Level := BASS_ChannelGetLevel(Channel);
  LevelR := MulDiv(100, HIWORD(Level), 32768);
  LevelL := MulDiv(100, LOWORD(Level), 32768);

  progressL.position := levelL;
  progressR.position := levelR;
  {progressL/R.max := 100;}
end;

примерно так)

помнится год назад не мог простую пропроцию составить, а сейчас такие успехи - молодец!  Улыбающийся
Записан

ZuBy
Гуру
******

Репутация: 76
Offline Offline

Пол: Мужской
Сообщений: 657


http://zubymplayer.com


Просмотр профиля WWW
« Ответ #8 : Март 07, 2010, 04:14:40 »

помнится год назад не мог простую пропроцию составить, а сейчас такие успехи - молодец!  Улыбающийся

За год много воды утекло)
Записан

ZMSystem - Open Source Project
all for multimedia developers (http://zubymplayer.com)

SnoopBill
Пользователь
***

Репутация: 2
Offline Offline

Пол: Мужской
Сообщений: 81


Delphi Forever...


Просмотр профиля
« Ответ #9 : Март 10, 2010, 06:06:53 »

Народ привет всем, вот собрался сделать интернет-радио на основе библиотеки bass.dll, в нете много исходников но там много и ненужного кода, а мне надо только воспроизвести поток, народ дайте может код каторый нужен для воспроизведения интернет потока, только если можно вариант полегче...... Подмигивающий
Записан


ZuBy
Гуру
******

Репутация: 76
Offline Offline

Пол: Мужской
Сообщений: 657


http://zubymplayer.com


Просмотр профиля WWW
« Ответ #10 : Март 11, 2010, 04:02:09 »

смотри demo от bass, там все понятно
Записан

ZMSystem - Open Source Project
all for multimedia developers (http://zubymplayer.com)

SnoopBill
Пользователь
***

Репутация: 2
Offline Offline

Пол: Мужской
Сообщений: 81


Delphi Forever...


Просмотр профиля
« Ответ #11 : Март 14, 2010, 11:32:20 »

Народ как можно узнать kbps и khz файла с помощью bass.dll
Записан


Demon
Global Moderator
Гуру
*****

Репутация: 77
Offline Offline

Пол: Мужской
Сообщений: 667



Просмотр профиля WWW
« Ответ #12 : Март 15, 2010, 10:13:24 »

Это для Kbps:
Код:
function GetKbps(Channel: DWord): DWord;
var
time: float;
len: dword;
begin
time := BASS_ChannelBytes2Seconds(Channel, BASS_ChannelGetLength(Channel,Bass_Pos_Byte));
len := BASS_StreamGetFilePosition(Channel, BASS_FILEPOS_END);
Result := Round(len / (125 * time)+0.5);
end;
А для KHz уже обсуждалось(кстати как и для Kbps), пользуйся поиском
Записан

SnoopBill
Пользователь
***

Репутация: 2
Offline Offline

Пол: Мужской
Сообщений: 81


Delphi Forever...


Просмотр профиля
« Ответ #13 : Март 15, 2010, 03:43:06 »

А как установить запись потока в файл.......
Записан


SnoopBill
Пользователь
***

Репутация: 2
Offline Offline

Пол: Мужской
Сообщений: 81


Delphi Forever...


Просмотр профиля
« Ответ #14 : Март 16, 2010, 06:19:07 »

А как установить запись потока в файл.......

Не ну народ неужели ни кто не знает как установить запись потока, я уже весь нет облазил ничего не нашёл......
Оооооочень надо............
Записан


Страниц: [1] 2
Печать
Перейти в: