我正在研究一个QT项目,该项目可以有效地概括为一系列连续按顺序播放的“场景”序列。每个场景都可以由任意数量的视频和图像组成,并且有很多场景。
我认为最好使用Loader元素根据需要加载每个场景,而不是通过设置不透明度来创建所有内容并在它们之间切换。 (如果这很愚蠢,请告诉我。我是QML的新手。)
它似乎工作,但我在场景之间得到一个可见的闪光。假设加载Loader是一个延迟,我尝试使用两个Loaders。我会在一个看不见的Loader中加载下一个场景,然后交换onLoaded()回调。仍然闪烁。
任何QML大师都有任何想法/建议吗?
答案 0 :(得分:1)
您应该将source
属性更改为下一个视频的网址,而不是多个Video
元素。
答案 1 :(得分:0)
这就是我最终做的事情。它似乎工作得很好。
我事先定义了所有的Video元素,但是没有source属性。当我想要显示下一个视频时,我将它置于当前播放视频的顶部,并设置其来源。然后,我启动一个计时器,通过将其源设置为'',在100ms后卸载前一个视频。这创建了无缝播放,因为第一个视频的最后一帧是可见的,直到下一个视频开始。