只需要两个类MediaPlayer和VideoOutput,MediaPlayer加载需要播出的视频文件,
VideoOutput进行视频显示。
MediaPlayer的source属性添加要播放的视频文件。source属性接受一个URL类型的值,可以是本地文件路径或远程文件的URL。
QML 给的示例来看看吧:
注意1:实际验证中发现示例中的文件路径写法会报错找不到文件或者路径不存在,应该改成"file:///video.webm".
这里使用的是文件的绝对路径,并使用URL编码(file:///)来指示这是一个本地文件。敲代码的时候当你打出file:/// 时Qt会弹出你的程序所在的盘符的根目录,像这样:
代码示例:
Rectangle {
width: 800
height: 600
color: "black"
MediaPlayer {
id: mediaPlayer
source: "file:///Ttest/2.mp4"
}
VideoOutput {
id: videoItem
anchors.fill: parent
source: mediaPlayer
}
}
//控制播放和暂停
Button {
id:btn
anchors.bottom: parent.bottom
anchors.horizontalCenter: parent.horizontalCenter
text: mediaPlayer.playbackState == MediaPlayer.PlayingState ? "Pause" : "Play"
onClicked:
{
if(mediaPlayer.playbackState == MediaPlayer.PlayingState)
{
mediaPlayer.pause()
console.log("pause")
}
else
{
mediaPlayer.play()
console.log("play")
}
}
}
注意2:windows和linux播放视频常常需要安装视频解码器,
windows安装K-Lite:
linux指令:
sudo apt install ubuntu-restricted-extras
windows:安装K-Lite http://www.codecguide.com/
ubuntu: https://linux.cn/article-14583-1.html