本文整理汇总了C++中QMediaTimeRange::removeInterval方法的典型用法代码示例。如果您正苦于以下问题:C++ QMediaTimeRange::removeInterval方法的具体用法?C++ QMediaTimeRange::removeInterval怎么用?C++ QMediaTimeRange::removeInterval使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QMediaTimeRange
的用法示例。
在下文中一共展示了QMediaTimeRange::removeInterval方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testRemoveInterval
void tst_QMediaTimeRange::testRemoveInterval()
{
// Removing an interval, causing a split
QMediaTimeRange x;
x.addInterval(10, 50);
x.removeInterval(20, 40);
QVERIFY(!x.isEmpty());
QVERIFY(!x.isContinuous());
QVERIFY(x.intervals().count() == 2);
QVERIFY(x.intervals()[0].start() == 10);
QVERIFY(x.intervals()[0].end() == 19);
QVERIFY(x.intervals()[1].start() == 41);
QVERIFY(x.intervals()[1].end() == 50);
// Removing an interval, causing a deletion
x = QMediaTimeRange();
x.addInterval(20, 30);
x.removeInterval(10, 40);
QVERIFY(x.isEmpty());
// Removing an interval, causing a tail trim
x = QMediaTimeRange();
x.addInterval(20, 40);
x.removeInterval(30, 50);
QVERIFY(!x.isEmpty());
QVERIFY(x.isContinuous());
QVERIFY(x.earliestTime() == 20);
QVERIFY(x.latestTime() == 29);
// Removing an interval, causing a head trim
x = QMediaTimeRange();
x.addInterval(20, 40);
x.removeInterval(10, 30);
QVERIFY(!x.isEmpty());
QVERIFY(x.isContinuous());
QVERIFY(x.earliestTime() == 31);
QVERIFY(x.latestTime() == 40);
// Identical Remove
x = QMediaTimeRange();
x.addInterval(10, 20);
x.removeInterval(10, 20);
QVERIFY(x.isEmpty());
// Multi-Trim
x = QMediaTimeRange();
x.addInterval(10, 20);
x.addInterval(30, 40);
x.removeInterval(15, 35);
QVERIFY(!x.isEmpty());
QVERIFY(!x.isContinuous());
QVERIFY(x.intervals().count() == 2);
QVERIFY(x.intervals()[0].start() == 10);
QVERIFY(x.intervals()[0].end() == 14);
QVERIFY(x.intervals()[1].start() == 36);
QVERIFY(x.intervals()[1].end() == 40);
// Multi-Delete
x = QMediaTimeRange();
x.addInterval(10, 20);
x.addInterval(30, 40);
x.addInterval(50, 60);
x.removeInterval(10, 60);
QVERIFY(x.isEmpty());
// Interval Parameter - Removing an interval, causing a split
x = QMediaTimeRange();
x.addInterval(10, 50);
x.removeInterval(QMediaTimeInterval(20, 40));
QVERIFY(!x.isEmpty());
QVERIFY(!x.isContinuous());
QVERIFY(x.intervals().count() == 2);
QVERIFY(x.intervals()[0].start() == 10);
QVERIFY(x.intervals()[0].end() == 19);
QVERIFY(x.intervals()[1].start() == 41);
QVERIFY(x.intervals()[1].end() == 50);
// Interval Parameter - Abnormal Interval
x = QMediaTimeRange();
x.addInterval(10, 40);
x.removeInterval(QMediaTimeInterval(30, 20));
QVERIFY(!x.isEmpty());
QVERIFY(x.isContinuous());
QVERIFY(x.earliestTime() == 10);
QVERIFY(x.latestTime() == 40);
}