QML播放器切换文件路径
来源:互联网 发布:知豆电动汽车公司待遇 编辑:程序博客网 时间:2024/06/05 18:17
使用QML做为播放器的前端,还是有许多QT不能比的效果哦..
界面:
今天搞了一下文件路径的问题, 发现MediaPlay好多格式的视频播不了, 真心蛋疼...
难怪大家都选择QML+VLC做为视频播放的后台..通过这个小例子,了解一下视频播放的路径的切换方法.
点击open会打开一个文件选择框. 选择你想要播放的视频就OK了..
通过这种方式定义了一个属性. 我是当变量来用了..
property string path : "file:///c:/test1.avi"
文件对话框的定义:
FileDialog { id: fileDialog title: "Please choose a file" onAccepted: { path = fileDialog.fileUrls[0].toString(); console.log("You chose: ",path) mediaPlayer.source = path } onRejected: { console.log("Canceled") } }
全部代码如下:
import QtQuick 2.4import QtQuick.Controls 1.3import QtQuick.Window 2.2import QtQuick.Dialogs 1.2import QtMultimedia 5.4ApplicationWindow { title: qsTr("Hello World") width: 640 height: 480 visible: true property string path : "file:///c:/test1.avi" MediaPlayer { id: mediaPlayer source: path autoPlay: true } Rectangle { color: "black" anchors.fill: parent VideoOutput { id: video anchors.fill: parent source: mediaPlayer } } Rectangle { id: progressBar anchors.left: parent.left anchors.right: parent.right anchors.bottom: parent.bottom anchors.margins: 0 height: 10 color: "lightGray" Rectangle { anchors.left: parent.left anchors.top: parent.top anchors.bottom: parent.bottom width: mediaPlayer.duration>0?parent.width*mediaPlayer.position/mediaPlayer.duration:0 color: "darkGreen" } MouseArea { property int pos anchors.fill: parent onClicked: { if (mediaPlayer.seekable) pos = mediaPlayer.duration * mouse.x/width mediaPlayer.seek(pos) } } } FileDialog { id: fileDialog title: "Please choose a file" onAccepted: { path = fileDialog.fileUrls[0].toString(); console.log("You chose: ",path) mediaPlayer.source = path } onRejected: { console.log("Canceled") } } menuBar: MenuBar { Menu { title: qsTr("&File") MenuItem { text: qsTr("&Open") onTriggered: { fileDialog.open() } } MenuItem { text: qsTr("E&xit") onTriggered: Qt.quit(); } } } MainForm { anchors.fill: parent button1.visible: false button2.visible: false button3.visible: false button2.onClicked: messageDialog.show(qsTr("Button 2 pressed")) button3.onClicked: messageDialog.show(qsTr("Button 3 pressed")) button1.onClicked: { } } MessageDialog { id: messageDialog title: qsTr("May I have your attention, please?") function show(caption) { messageDialog.text = caption; messageDialog.open(); } }}
0 0
- QML播放器切换文件路径
- QML播放器切换文件路径
- qml LAVFSplitter播放器
- 纯QML实现视频播放器
- 基于QML的播放器实现
- Qml播放视频文件
- qml播放视频文件
- qml场景切换
- Qml动态语言切换
- 基于VideoView实现视频播放文件切换
- 使用qml 实现简单的播放器(1)
- 使用qml 实现简单的播放器(2)
- 使用qml 实现简单的播放器(3)
- 使用qml 实现简单的播放器(4)
- 用QML实现简单音视频播放器的实践
- QML JS封装播放器时间格式显示
- QML中的资源路径
- iOS中,文件相对路径、绝对路径切换
- 连接数据线到PC报“failed to start daemon”
- Permutation Sequence
- 非递归且最坏情况下仍然为O(n)的第K大数程序
- asp.net中Cookie的用法(转)
- 【深入浅出IOS开发】IOS绘图基础
- QML播放器切换文件路径
- 上传文件到服务器
- 跑马问题
- MVC中用分部视图封装DataGrid
- OC中NSValue的使用
- [转]让IE 以全屏模式启动
- NSValue(添)
- 四面楚歌,击碎美团的美梦
- Python and PyQt conflicts on hex()