1、锁/解锁功能
锁/解锁功能功能的实现是通过更改视频文件名,即“锁”在文件名后加上_lock,“解锁”即将_lock去除,所以在
给视频加锁或解锁涉及到两种情况,即视频文件是否处于打开状态。当视频文件处于关闭状态时比较好处理
直接修改名字,而如果视频处于打开状态时就不能直接更改名字了,需要等视频关闭再更改名字。
1.1 程序流程图:
1.2 相关代码
if (!videoLockList.at(index)) // lock ---> unlock { qDebug() << "lock ---> unlock"; QString rename = QString("%1_%2.mp4").arg(sections.at(0)).arg(sections.at(1)); qDebug() << "rename = " << rename; QFile::rename(path, rename); } else // unlock ---> lock { qDebug() << "unlock ---> lock"; QString rename = QString("%1_%2_lock.mp4").arg(sections.at(0)).arg(sections.at(1)); qDebug() << "rename = " << rename; QFile::rename(path, rename); }1.3 注意问题
(1) 改名之前视频已经被删除
(2) 删除过程中该名
2、视频删除优化
视频文件一般比较大,删除过程一般比较耗时间,如果将删除工作放在UI线程中可能会影响UI线程中的点击事件,从而
影响用户的体验效果。为了优化将视频的删除过程放在独立的删除线程中。