#DELPHI BASS库Windows平台下,实时更换输出设备

DELPHI BASS库Windows平台下,实时更换输出设备

#DELPHI BASS库Windows平台下,实时更换输出设备

取自网络,分享,项目嵌入无损音乐播放后,画蛇添足的功能分享!

直接贴核心代码,看不明白去看说明:这样操作无感换设备!

function TBassPlayer.ReInit(device: String; freq, flags: DWORD;  clsid: Pointer): Boolean;
var ipos:Int64; vol:single; sFile:String; needReplay:Boolean;
begin
    //记录状态
    needReplay:= BASS_ChannelIsActive(Fch) = BASS_ACTIVE_STOPPED;
    if needReplay then
    begin
        sfile:=FFile;
        if not BASS_ChannelGetAttribute(Fch,BASS_ATTRIB_MUSIC_VOL_CHAN,vol) then
        vol:=0.8;

        iPos     := BASS_ChannelGetPosition(Fch, BASS_POS_BYTE);
    end;
    if (FDevice=device) and (FInitStatus>1) then
    begin
        result :=True;
        Exit; //无改变
    end else
    begin
        // Free Streams
        BASS_StreamFree(Fch);
        // Close BASS
        BASS_Free();
    end;
    FDevice:= device;
    if Init(device,freq, flags, clsid) then
    begin //恢复状态
        if needReplay then
        begin
            FFile:='';
            if FileExists(sfile) and Play(sfile,true,vol) then
            setPos(iPos);
        end;

    end else result:=false;
end;

把bass库简单做了封装
init
play
setpos

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ti-蜗牛

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值