QMediaTimeRange 类

QMediaTimeRange 类表示一组零个或多个不相交的时间区间。 更多信息...

头文件 #include <QMediaTimeRange>
CMakefind_package(Qt6 REQUIRED COMPONENTS Multimedia)
target_link_libraries(mytarget PRIVATE Qt6::Multimedia)
qmakeQT += multimedia

注意:此类中所有函数均可重入

公共类型

结构体Interval

公共函数

QMediaTimeRange()
QMediaTimeRange(qint64 start, qint64 end)
QMediaTimeRange(const QMediaTimeRange::Interval &interval)
QMediaTimeRange(const QMediaTimeRange &range)
QMediaTimeRange(QMediaTimeRange &&other)
~QMediaTimeRange()
voidaddInterval(const QMediaTimeRange::Interval &interval)
voidaddInterval(qint64 start, qint64 end)
voidaddTimeRange(const QMediaTimeRange &range)
voidclear()
boolcontains(qint64 time) const
qint64earliestTime() const
QList<QMediaTimeRange::Interval>intervals() const
boolisContinuous() const
boolisEmpty() const
qint64latestTime() const
voidremoveInterval(const QMediaTimeRange::Interval &interval)
voidremoveInterval(qint64 start, qint64 end)
voidremoveTimeRange(const QMediaTimeRange &range)
voidswap(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)
booloperator!=(const QMediaTimeRange &lhs, const QMediaTimeRange &rhs)
QMediaTimeRangeoperator+(const QMediaTimeRange &r1, const QMediaTimeRange &r2)
QMediaTimeRangeoperator-(const QMediaTimeRange &r1, const QMediaTimeRange &r2)
booloperator==(const QMediaTimeRange &lhs, const QMediaTimeRange &rhs)

详细说明

方法 earliestTime()、latestTime()、intervals() 和 isEmpty() 用于获取当前时间范围的信息。

方法 addInterval()、removeInterval() 和 clear() 用于修改当前时间范围。

当向时间范围中添加或删除间隔时,现有间隔可能被扩展、裁剪、删除、合并或分割,以确保时间范围内的所有间隔都是相互独立且不相交的。因此,添加到或从时间范围中删除的所有间隔都必须是 正常的

另见QMediaTimeRange::Interval.

成员函数文档

QMediaTimeRange::QMediaTimeRange()

构建一个空的时间范围。

[显式] QMediaTimeRange::QMediaTimeRange(qint64 start, qint64 end)

构建一个包含初始间隔从 startend 的时间范围(包含端点)。

如果间隔不是 正常的,则结果时间范围将是空的。

另见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)

这是一个重载函数。

将指定的由 startend 确定的间隔添加到时间范围内。

另见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)

这是一个重载函数。

从时间范围内删除由 startend 确定的间隔。

另见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)

返回包含 r1r2 之间的并集的时间范围。

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 公司的商标。所有其他商标均为其各自所有者的财产。