QMediaTimeRange 类
QMediaTimeRange 类表示一组零个或多个不相交的时间区间。 更多信息...
头文件 | #include <QMediaTimeRange> |
CMake | find_package(Qt6 REQUIRED COMPONENTS Multimedia) target_link_libraries(mytarget PRIVATE Qt6::Multimedia) |
qmake | QT += multimedia |
注意:此类中所有函数均可重入。
公共类型
结构体 | Interval |
公共函数
QMediaTimeRange() | |
QMediaTimeRange(qint64 start, qint64 end) | |
QMediaTimeRange(const QMediaTimeRange::Interval &interval) | |
QMediaTimeRange(const QMediaTimeRange &range) | |
QMediaTimeRange(QMediaTimeRange &&other) | |
~QMediaTimeRange() | |
void | addInterval(const QMediaTimeRange::Interval &interval) |
void | addInterval(qint64 start, qint64 end) |
void | addTimeRange(const QMediaTimeRange &range) |
void | clear() |
bool | contains(qint64 time) const |
qint64 | earliestTime() const |
QList<QMediaTimeRange::Interval> | intervals() const |
bool | isContinuous() const |
bool | isEmpty() const |
qint64 | latestTime() const |
void | removeInterval(const QMediaTimeRange::Interval &interval) |
void | removeInterval(qint64 start, qint64 end) |
void | removeTimeRange(const QMediaTimeRange &range) |
void | swap(QMediaTimeRange &other) |
QMediaTimeRange & | operator+=(const QMediaTimeRange &other) |
QMediaTimeRange & | operator+=(const QMediaTimeRange::Interval &interval) |
QMediaTimeRange & | operator-=(const QMediaTimeRange &other) |
QMediaTimeRange & | operator-=(const QMediaTimeRange::Interval &interval) |
QMediaTimeRange & | operator=(const QMediaTimeRange &other) |
QMediaTimeRange & | operator=(QMediaTimeRange &&other) |
QMediaTimeRange & | operator=(const QMediaTimeRange::Interval &interval) |
相关非成员
bool | operator!=(const QMediaTimeRange &lhs, const QMediaTimeRange &rhs) |
QMediaTimeRange | operator+(const QMediaTimeRange &r1, const QMediaTimeRange &r2) |
QMediaTimeRange | operator-(const QMediaTimeRange &r1, const QMediaTimeRange &r2) |
bool | operator==(const QMediaTimeRange &lhs, const QMediaTimeRange &rhs) |
详细说明
方法 earliestTime()、latestTime()、intervals() 和 isEmpty() 用于获取当前时间范围的信息。
方法 addInterval()、removeInterval() 和 clear() 用于修改当前时间范围。
当向时间范围中添加或删除间隔时,现有间隔可能被扩展、裁剪、删除、合并或分割,以确保时间范围内的所有间隔都是相互独立且不相交的。因此,添加到或从时间范围中删除的所有间隔都必须是 正常的。
成员函数文档
QMediaTimeRange::QMediaTimeRange()
构建一个空的时间范围。
[显式]
QMediaTimeRange::QMediaTimeRange(qint64 start, qint64 end)
构建一个包含初始间隔从 start 到 end 的时间范围(包含端点)。
如果间隔不是 正常的,则结果时间范围将是空的。
另见addInterval().
QMediaTimeRange::QMediaTimeRange(const QMediaTimeRange::Interval &interval)
构建一个包含初始间隔 interval 的时间范围。
如果 interval 不是 正常的,则结果时间范围将是空的。
另见addInterval().
[noexcept]
QMediaTimeRange::QMediaTimeRange(const QMediaTimeRange &range)
通过复制另一个时间 range 来构建时间范围。
[noexcept]
QMediaTimeRange::QMediaTimeRange(QMediaTimeRange &&other)
通过从 other 中移动来构建时间范围。
[noexcept]
QMediaTimeRange::~QMediaTimeRange()
析构函数。
void QMediaTimeRange::addInterval(const QMediaTimeRange::Interval &interval)
向时间范围内添加指定的 interval。
添加非 正常的 间隔是无效的,将被忽略。
如果指定的间隔与时间范围内的现有间隔相邻或重叠,则这些间隔将被合并。
此操作需要线性时间。
另见removeInterval().
void QMediaTimeRange::addInterval(qint64 start, qint64 end)
这是一个重载函数。
将指定的由 start 和 end 确定的间隔添加到时间范围内。
另见addInterval().
void QMediaTimeRange::addTimeRange(const QMediaTimeRange &range)
将 range 中的每个间隔添加到此时间范围内。
相当于为 range 中的每个间隔调用 addInterval()。
void QMediaTimeRange::clear()
从时间范围内删除所有间隔。
另见removeInterval().
bool QMediaTimeRange::contains(qint64 time) const
如果指定的 time 位于时间范围内,则返回 true。
qint64 QMediaTimeRange::earliestTime() const
返回时间范围内的最早时间。
对于空时间范围,此值等于零。
另请参阅latestTime()。
QList<QMediaTimeRange::Interval> QMediaTimeRange::intervals() const
返回此时间范围所覆盖的间隔列表。
bool QMediaTimeRange::isContinuous() const
如果时间范围由连续的间隔组成,则返回 true。即时间范围内有一个或更少的非重叠间隔。
bool QMediaTimeRange::isEmpty() const
如果没有间隔在时间范围内,则返回 true。
另请参阅intervals()。
qint64 QMediaTimeRange::latestTime() const
返回时间范围内的最新时间。
对于空时间范围,此值等于零。
另请参阅earliestTime()。
void QMediaTimeRange::removeInterval(const QMediaTimeRange::Interval &interval)
从时间范围内删除指定的 interval。
删除不是 正常 的间隔是无效的,并且将被忽略。
将根据需要在时间范围内修剪、分割或删除间隔,以确保时间范围内没有间隔包含目标间隔的任何部分。
此操作需要线性时间。
另见addInterval().
void QMediaTimeRange::removeInterval(qint64 start, qint64 end)
这是一个重载函数。
从时间范围内删除由 start 和 end 确定的间隔。
另见removeInterval().
void QMediaTimeRange::removeTimeRange(const QMediaTimeRange &range)
从此时间范围中删除 range 中的每个间隔。
等价于对 range 中的每个时间间隔调用 removeInterval()。
[noexcept]
void QMediaTimeRange::swap(QMediaTimeRange &other)
交换当前实例与 other。
QMediaTimeRange &QMediaTimeRange::operator+=(const QMediaTimeRange &other)
将 other 中的每个时间间隔添加到时间范围中,并返回结果。
QMediaTimeRange &QMediaTimeRange::operator+=(const QMediaTimeRange::Interval &interval)
将指定的 interval 添加到时间范围中,并返回结果。
QMediaTimeRange &QMediaTimeRange::operator-=(const QMediaTimeRange &other)
从时间范围中删除 other 中的每个时间间隔,并返回结果。
QMediaTimeRange &QMediaTimeRange::operator-=(const QMediaTimeRange::Interval &interval)
从时间范围中删除指定的 interval,并返回结果。
[noexcept]
QMediaTimeRange &QMediaTimeRange::operator=(const QMediaTimeRange &other)
复制 other 时间范围的副本,并返回自身。
[noexcept]
QMediaTimeRange &QMediaTimeRange::operator=(QMediaTimeRange &&other)
将 other 移入此时间范围。
QMediaTimeRange &QMediaTimeRange::operator=(const QMediaTimeRange::Interval &interval)
将时间范围设置为单个连续时间间隔 interval。
相关非成员
bool operator!=(const QMediaTimeRange &lhs, const QMediaTimeRange &rhs)
如果 lhs 中的一个或多个时间间隔不在 rhs 中,则返回 true。
QMediaTimeRange operator+(const QMediaTimeRange &r1, const QMediaTimeRange &r2)
返回包含 r1 和 r2 之间的并集的时间范围。
QMediaTimeRange operator-(const QMediaTimeRange &r1, const QMediaTimeRange &r2)
返回一个时间范围,其中包含从 r1 中减去 r2 的结果。
bool operator==(const QMediaTimeRange &lhs, const QMediaTimeRange &rhs)
如果 lhs 中的所有区间都存在于 rhs 中,则返回 true。
© 2024 Qt 公司。此处包含的文档贡献是其各自所有者的版权。提供的文档受 GNU 自由文档许可证版本 1.3 的条款约束,该许可证由自由软件基金会发布。Qt 以及相关商标是芬兰及其它全球国家的 Qt 公司的商标。所有其他商标均为其各自所有者的财产。