【bass】設定與顯示音訊的播放進度
阿新 • • 發佈:2018-11-04
上程式碼:
//獲取檔案流的長度, 單位是位元組 function BASS_ChannelGetLength( handle: DWORD; {流控制代碼} mode: DWORD {獲取模式; 有兩種選擇, 但對 HSTREAM 流只能使用 BASS_POS_BYTE} ): QWORD; stdcall; external bassdll; //獲取流的當前指標位置, 單位是位元組 function BASS_ChannelGetPosition( handle: DWORD; {流控制代碼} mode: DWORD {獲取模式; 有兩種選擇, 但對 HSTREAM 流只能使用 BASS_POS_BYTE} ): QWORD; stdcall; external bassdll; //根據流的指標位置來獲取時間點, 單位是秒, 是非常精確的浮點數 function BASS_ChannelBytes2Seconds( handle: DWORD; {流控制代碼} pos: QWORD {流的指標位置, 單位是位元組, QWORD = Int64} ): Double; stdcall;external bassdll; //和 BASS_ChannelBytes2Seconds 相反, BASS_ChannelSeconds2Bytes 可以通過時間獲取流的指標位置. function BASS_ChannelSeconds2Bytes( handle: DWORD; pos: Double ): QWORD; stdcall;external bassdll; //和 BASS_ChannelGetPosition 相反, BASS_ChannelSetPosition 可以設定流的指標位置. function BASS_ChannelSetPosition( handle: DWORD; pos: QWORD; mode: DWORD ): BOOL; stdcall; external bassdll; //要獲取音樂的總時間可以: BASS_ChannelBytes2Seconds(hs, BASS_ChannelGetLength(hs, BASS_POS_BYTE)); //要獲取音樂播放的當前時間可以: BASS_ChannelBytes2Seconds(hs, BASS_ChannelGetPosition(hs, BASS_POS_BYTE));