【问题标题】:Show video preview / thumbnail of video using QML使用 QML 显示视频预览/视频缩略图
【发布时间】:2021-01-26 22:07:22
【问题描述】:

从 Qt5.15 开始,Video 中有一个 flushMode 属性。如果设置为 VideoOutput.FirstFrame,则视频在播放到达视频结尾时显示第一帧。如何在不启动的情况下显示第一个视频帧。就像在 OS 图标视图中经常看到的缩略图或预览一样。我想避免为此在视频旁边存储额外的图像。

【问题讨论】:

    标签: qt qml multimedia


    【解决方案1】:

    按照Qt bug report 中的建议,您可以按以下方式进行:

        Video {
            autoPlay: true
    
            onStatusChanged: {
                if (status == MediaPlayer.Buffered)
                {
                    pause()
                }
            }
        }
    

    【讨论】:

    • 这不会在视频结束后显示第一帧,但会在播放之前显示类似缩略图的图像。
    • @PjToopmuch 和你要求的不一样吗?
    • @dimril 这样做,我必须在缩略图出现之前播放一次视频。这正常吗?
    • @pooya13 这不是我的看法。从字面上看,播放应该由“autoPlay:true”启动,但一旦缓冲就应该暂停。如果它没有暂停,那么可能没有触发 onStatusChanged 回调或条件错误。调试它们以查看究竟是哪种情况。
    • 由于某种原因,您的情况对我不起作用,但 Component.onCompleted: pause() 起作用。无论如何感谢您的帮助。
    猜你喜欢
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2014-08-18
    • 1970-01-01
    • 2011-11-04
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    相关资源
    最近更新 更多