SnoopBill
Пользователь
 
Репутация: 2
Offline
Пол: 
Сообщений: 81
Delphi Forever...
|
 |
« : Март 06, 2010, 04:40:30 » |
|
Народ все привет  ... как можно перевести длину потока BASS_ChannelGetLength(Имя потока,0); в минуты.... 
|
|
|
|
|
Записан
|
|
|
|
|
|
|
 |
« Ответ #1 : Март 06, 2010, 06:18:14 » |
|
юзай: BASS_ChannelBytes2Seconds
|
|
|
|
|
Записан
|
Сайт проекта X Audio Player: https://sites.google.com/site/xaudioplayer/
|
|
|
|
SnoopBill
Пользователь
 
Репутация: 2
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; Но число слишком большое получается... Может есть другой способ?    ??
|
|
|
|
|
Записан
|
|
|
|
|
|
|
 |
« Ответ #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
Пол: 
Сообщений: 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
Пол: 
Сообщений: 81
Delphi Forever...
|
 |
« Ответ #5 : Март 07, 2010, 02:25:09 » |
|
Народ кто знает можно ли связать BASS_ChannelGetLevel() с ProgressBar'ом?    ??
|
|
|
|
|
Записан
|
|
|
|
|
|
|
 |
« Ответ #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)
|
|
|
|
|
|
 |
« Ответ #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;
примерно так)  помнится год назад не мог простую пропроцию составить, а сейчас такие успехи - молодец! 
|
|
|
|
|
Записан
|
|
|
|
|
|
|
 |
« Ответ #8 : Март 07, 2010, 04:14:40 » |
|
 помнится год назад не мог простую пропроцию составить, а сейчас такие успехи - молодец!  За год много воды утекло)
|
|
|
|
|
Записан
|
ZMSystem - Open Source Project all for multimedia developers (http://zubymplayer.com)
|
|
|
|
SnoopBill
Пользователь
 
Репутация: 2
Offline
Пол: 
Сообщений: 81
Delphi Forever...
|
 |
« Ответ #9 : Март 10, 2010, 06:06:53 » |
|
Народ привет всем, вот собрался сделать интернет-радио на основе библиотеки bass.dll, в нете много исходников но там много и ненужного кода, а мне надо только воспроизвести поток, народ дайте может код каторый нужен для воспроизведения интернет потока, только если можно вариант полегче...... 
|
|
|
|
|
Записан
|
|
|
|
|
|
|
 |
« Ответ #10 : Март 11, 2010, 04:02:09 » |
|
смотри demo от bass, там все понятно
|
|
|
|
|
Записан
|
ZMSystem - Open Source Project all for multimedia developers (http://zubymplayer.com)
|
|
|
|
SnoopBill
Пользователь
 
Репутация: 2
Offline
Пол: 
Сообщений: 81
Delphi Forever...
|
 |
« Ответ #11 : Март 14, 2010, 11:32:20 » |
|
Народ как можно узнать kbps и khz файла с помощью bass.dll
|
|
|
|
|
Записан
|
|
|
|
|
|
|
 |
« Ответ #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
Пол: 
Сообщений: 81
Delphi Forever...
|
 |
« Ответ #13 : Март 15, 2010, 03:43:06 » |
|
А как установить запись потока в файл.......
|
|
|
|
|
Записан
|
|
|
|
|
SnoopBill
Пользователь
 
Репутация: 2
Offline
Пол: 
Сообщений: 81
Delphi Forever...
|
 |
« Ответ #14 : Март 16, 2010, 06:19:07 » |
|
А как установить запись потока в файл.......
Не ну народ неужели ни кто не знает как установить запись потока, я уже весь нет облазил ничего не нашёл...... Оооооочень надо............
|
|
|
|
|
Записан
|
|
|
|
|
|