gpt4 book ai didi

c++ - 播放音乐时如何避免微延迟?

转载 作者:太空狗 更新时间:2023-10-29 20:53:19 25 4
gpt4 key购买 nike

我正在用 Qt 编写音频播放器。我使用 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);
});

我该如何修复这个错误?

最佳答案

您需要检查 slider is pressed当 slider 值改变时。

如果没有按下,说明只是一个进度事件。

如果它被按下,则意味着用户正在与之交互,因此设置媒体播放器的位置

connect(ui->positionSlider, &QSlider::valueChanged, this, [&](int value)
{
if (ui->positionSlider->isSliderDown())
player->setPosition(value);
});

顺便说一下,这正是他们在 reference example 中所做的.

关于c++ - 播放音乐时如何避免微延迟?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43167732/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com