【bass】设置与显示音频的播放进度

版权声明:本文为博主原创文章,未经博主同意不可随意转载。 https://blog.csdn.net/hellokandy/article/details/82692279

上代码:

//获取文件流的长度, 单位是字节
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));

猜你喜欢

转载自blog.csdn.net/hellokandy/article/details/82692279