在QT/QML中播放视频播放列表
我正在QML上制作一个简单的播放列表播放器。我正在使用folderlistModel读取文件夹。 我想依次运行每个视频。但是我的播放器只播放第一个视频,然后程序崩溃。我的错误是无效的属性名称在
。我的源代码:thong.qml
中打开
main.qml
Rectangle {
id: root
width: 1024
height: 600
color: "black"
property bool onStart: true
Thong {
id: playlist
mediaPlayer: player
fm: FolderListModel {
id: fm
folder: "file:///home/pi/Documents/nhacmp4test"
showDirs: false
showDotAndDotDot: false
nameFilters: ["*.wmv"]
property bool ready: count > 0
onReadyChanged: {if (player.status == MediaPlayer.NoMedia) {
playlist.setIndex(0);
player.play();
}}
}
}
MediaPlayer { id: player }
VideoOutput {
anchors.fill: parent
source: player
}
}/*Thong.qml*/ Item{
id: a
property int index: 0
property MediaPlayer mediaPlayer
property FolderListModel fm
Component.onCompleted: {
mainWindow.showNormal();
}
function setIndex(i)
{
index = i;
console.log("setting index to: " + i);
index %= fm.count;
mediaPlayer.source = "file://" + fm.get(index,"filePath");
console.log("setting source to: " + mediaPlayer.source);
}
function next()
{
setIndex(index+1);
}
Connections {
target: a.mediaPlayer
onStopped: {
if (a.mediaPlayer.status == MediaPlayer.EndOfMedia) {
a.next();
a.mediaPlayer.play();
console.log("ok");
}
}
}
I am making a simple playlist player on qml. I am using FolderListModel to read folders.
I want to run each video in turn. But my player only plays the first video, then the program crashes. My error is invalid property name onStopped
in Thong.qml
. My source code:
main.qml
Rectangle {
id: root
width: 1024
height: 600
color: "black"
property bool onStart: true
Thong {
id: playlist
mediaPlayer: player
fm: FolderListModel {
id: fm
folder: "file:///home/pi/Documents/nhacmp4test"
showDirs: false
showDotAndDotDot: false
nameFilters: ["*.wmv"]
property bool ready: count > 0
onReadyChanged: {if (player.status == MediaPlayer.NoMedia) {
playlist.setIndex(0);
player.play();
}}
}
}
MediaPlayer { id: player }
VideoOutput {
anchors.fill: parent
source: player
}
}/*Thong.qml*/ Item{
id: a
property int index: 0
property MediaPlayer mediaPlayer
property FolderListModel fm
Component.onCompleted: {
mainWindow.showNormal();
}
function setIndex(i)
{
index = i;
console.log("setting index to: " + i);
index %= fm.count;
mediaPlayer.source = "file://" + fm.get(index,"filePath");
console.log("setting source to: " + mediaPlayer.source);
}
function next()
{
setIndex(index+1);
}
Connections {
target: a.mediaPlayer
onStopped: {
if (a.mediaPlayer.status == MediaPlayer.EndOfMedia) {
a.next();
a.mediaPlayer.play();
console.log("ok");
}
}
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论