如何避免音乐播放时出现微滞后
How to avoid micro lags while music is playing?
我正在用Qt编写Audio Player。我使用QMediaPlayer。我尝试将音乐位置与QSlider
连接,但是当 2 个连接正常工作时,它会产生微延迟。这是我的代码:
connect(player, &QMediaPlayer::positionChanged, this, [&](qint64 value){
int pos = static_cast<int>(value);
ui->positionSlider->setValue(pos);
});
connect(ui->positionSlider, &QSlider::valueChanged, this, [&](int value){
player->setPosition(value);
});
如何修复此错误?
您需要检查滑块值更改时是否按下滑块。
如果未按下,则表示它只是一个进度事件。
如果按下,则表示用户正在与之交互,因此设置媒体播放器位置
connect(ui->positionSlider, &QSlider::valueChanged, this, [&](int value)
{
if (ui->positionSlider->isSliderDown())
player->setPosition(value);
});
顺便说一下,这正是他们在参考示例中所做的。
相关文章:
- C++避免重复声明的语法是什么
- 在没有太多条件句的情况下,我如何避免被零除
- 如何重构类层次结构以避免菱形问题
- 函数何时会在c++中包含stack_Unwind_Resume调用
- 在两个类中共享相同的函数调用,并在不需要时避免空实例化
- 以下示例中如何避免代码复制?C++/库达
- Python中的for循环与C++有何不同
- 如何确保在使用基于布尔值的两个方法之一调用方法时避免分支预测错误
- 是否应该在模板化代码中完全避免const
- 我应该避免多重实现继承吗
- 为了方便起见,我应该避免公开私有字段变量吗
- 在为LINUX创建共享库时,如何避免STL的私有/弱副本
- 避免在C++中重复子类定义
- "Inverse SFINAE"避免模棱两可的过载
- 如何避免在仅标头库中C++类/变量重定义
- Python 集合.计数器,如何避免重复查找
- 是否应避免从非常量迭代器转换为常量迭代器?
- 避免矢量中的对象切片<Base><shared_ptr>
- 如何避免音乐播放时出现微滞后
- 如何避免插入过程中无序映射的滞后调整大小