qml视频播放器

引言

最近因为学习生活上的忙碌和个人效率的低下,技术博客写的比较少了。现在在做qml的项目,顺便记录一下自己的一些心得。我负责的页面包含了qml视频部分,所以特地去找了一遍,发现了qml内置有两种视频播放组件,功能其实大同小异

Video组件

Video {
     id: video
     width : 800
     height : 600
     source: "video.avi"

     MouseArea {
         anchors.fill: parent
         onClicked: {
             video.play()
         }
     }

     focus: true
     Keys.onSpacePressed: video.playbackState == MediaPlayer.PlayingState ? video.pause() : video.play()
     Keys.onLeftPressed: video.position = video.position - 5000
     Keys.onRightPressed: video.position = video.position + 5000
 }

如果需要播放按钮 进度条之类的可以自己去添加一下,具体说明还是去看官方文档。

MediaPlayer + VideoOutput

这应该是比较主流的方法了,推荐使用。 MediaPlayer单独使用的话更多的是音频播放器 ,搭配上 VideoOutput就是一个视频播放器了。

这里提一下,如果你一个页面包含多个视频播放器, 你又不想重新声明很多个id,就可以把这个Item封装成一个组件,只需要把视频的链接传参即可。

 Item {
     MediaPlayer {
         id: mediaplayer
         source: "groovy_video.mp4"
         audioOutput: AudioOutput {}
         videoOutput: videoOutput
     }

     VideoOutput {
         id: videoOutput
         anchors.fill: parent
     }

     MouseArea {
         anchors.fill: parent
         onPressed: mediaplayer.play();
     }
 }


版权声明:本文为weixin_50877746原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。