qml LAVFSplitter播放器
来源:互联网 发布:软件项目立项申请报告 编辑:程序博客网 时间:2024/05/16 10:14
写好qml播放代码后运行时一直报DirectShowPlayerService::doRender: Unresolved error code 80040218
找到原因是QtMultimedia 使用的系统默认的音视频编/解码器,如果系统没有安装与qt对应的音视频编解码器的话,就会报以上错误。
解决方案:
安装LAVFSplitter-0.3,用管理员权限运行CMD,切换到LAVFSplitter-0.3目录后运行安装安装脚本即可(注意32和64版本问题)。
qml代码:
import QtQuick 2.4import QtQuick.Controls 1.3import QtQuick.Window 2.2import QtQuick.Dialogs 1.2import QtMultimedia 5.4ApplicationWindow { title: qsTr("LAVPlayer") width: 640 height: 480 visible: true Rectangle { color: "black" anchors.fill: parent MediaPlayer { id: mediaPlayer source: "file:///e:/dome.mp4" autoPlay: true } VideoOutput { id: video anchors.fill: parent source: mediaPlayer } }//使用Video播放// Video {// id: mediaPlayer// anchors.fill: parent// source: "file:///e:/dome.mp4"// MouseArea {// anchors.fill: parent// onClicked: {// mediaPlayer.play()// }// }// focus: true// Keys.onSpacePressed: mediaPlayer.playbackState == MediaPlayer.PlayingState ? mediaPlayer.pause() : mediaPlayer.play()// Keys.onLeftPressed: mediaPlayer.seek(mediaPlayer.position - 5000)// Keys.onRightPressed: mediaPlayer.seek(mediaPlayer.position + 5000)// }//播放进度条 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(); } } } MessageDialog { id: messageDialog title: qsTr("May I have your attention, please?") function show(caption) { messageDialog.text = caption; messageDialog.open(); } }//测试代码// Item {// anchors.fill: parent// MediaPlayer {// id: mediaplayer// source: "file:///e:/dome.mp4"// autoPlay: true// }// VideoOutput {// anchors.fill: parent// source: mediaplayer// }// MouseArea {// id: playArea// anchors.fill: parent// onPressed: mediaplayer.play();// }// }}
0 0
- qml LAVFSplitter播放器
- QML播放器切换文件路径
- 纯QML实现视频播放器
- QML播放器切换文件路径
- 基于QML的播放器实现
- Qml播放视频文件
- qml播放视频文件
- 使用qml 实现简单的播放器(1)
- 使用qml 实现简单的播放器(2)
- 使用qml 实现简单的播放器(3)
- 使用qml 实现简单的播放器(4)
- 用QML实现简单音视频播放器的实践
- QML JS封装播放器时间格式显示
- QML实现仿酷狗音乐播放器(支持在线和本地播放)
- 创建可以重复利用的QML Component--Podcast播放器代码实例
- QML带进度条的视频播放功能
- qml播放带进度条的视频
- qml
- (uva)232Crossword Answers
- eclipse插件大全
- EL表达式
- Android之PopWindow
- wuzhicms 私密下载链接生成
- qml LAVFSplitter播放器
- Linux中的vi/vim
- TNS-12520 TNS-12519 连接错误处理
- 欢迎动画
- 软件测试缺陷密度的计算方法
- python写xml
- 开博第一篇,新的征程...
- MIT6.828 HW8 uthreads
- Java JDK1.8新特性Lambda 表达式