Показывать предварительный просмотр видео / миниатюру видео с использованием QML

#qt #qml #multimedia

#qt #qml #Мультимедиа

Вопрос:

Ответ №1:


Как было предложено в отчете об ошибке Qt, вы можете сделать это следующим образом:

     Video {
        autoPlay: true

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

Комментарии:

1. при этом не отображается первый кадр после окончания видео, но перед его воспроизведением отображается миниатюра, подобная изображению.

2. @PjToopmuch Сильно ли это отличается от того, что вы просили?

3. @dimril При этом я должен воспроизвести видео один раз, прежде чем появится миниатюра. Это нормально?

4. @pooya13 Это не так, как я это вижу. Буквально, воспроизведение должно начинаться с «автозапуска: true», но как только оно буферизуется, его следует приостановить. Если он не приостановлен, то, вероятно, обратный вызов onStatusChanged не запускается или условие ошибочно. Отладьте их, чтобы точно определить, в каком случае это так.

5. По какой-то причине ваше условие не сработало для меня, но Component.onCompleted: pause() сработало. В любом случае спасибо за вашу помощь.