切记,不要在线程中使用duilib

问题:在线程中使用Duilib创建的控件,结果在mciSendCommand总是出问题。

需求:想做一个音频小文件合并成大文件的功能。需要在控件中显示当前的合并进度。

方法一:直接在主线程中做合并,通过回调的方式通知进度条刷新显示进度,文件合并能成功,但是进度条(使用CProgressUI控件)一直没有变化。

于是,想在线程中合并调用合并函数

方法二:创建线程,在线程中调用合并函数,结果合并失败。

方法二的出错点:由于默认打开播放第一个小文件(使用mciSendCommand),所以在合并前需要关闭当前打开的文件。当使用mciSendCommand关闭当前文件时,返回值总是303(在自动打开的设备上运行指定的命令。请等到设备关闭后,再试一次。)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值