如何在 QML 中播放目录中的视频
Posted
技术标签:
【中文标题】如何在 QML 中播放目录中的视频【英文标题】:How to play a video from directory in QML 【发布时间】:2019-05-20 04:58:44 【问题描述】:我正在尝试在 Qt QML 中播放本地目录中的视频。
现在我从资源文件播放视频,但我的目标是调用本地目录并一一播放该目录中的所有视频。有可能在 Qt QML 中做到这一点吗?
Video
id: video
autoPlay: true
loops: MediaPlayer.Infinite
source: "qrc:/Resources/samplevideo.mp4"
【问题讨论】:
用file:/
替换qrc:/
【参考方案1】:
您可以获取特定文件夹的文件列表并使用FolderListModel
QML Type对其进行迭代:
import Qt.labs.folderlistmodel 2.12
// ...
FolderListModel
id: folderModel
/// Put here URL of folder with videos
folder: "file:" + "/home/tro/Videos/"
/// Put a list of file name filters
nameFilters: ["*.avi"]
showDirs: false
onStatusChanged:
if (folderModel.status == FolderListModel.Ready)
console.log('Folder Model Loaded')
console.log("Folder list contains ", folderModel.count, "elements:")
for (var i = 0; i < folderModel.count; ++i)
console.log("\t", i, folderModel.get(i, "fileURL"))
此外,请参阅method get
上的文档以更好地了解您可以获得什么(例如,这里我们仅使用 fileURL
)。
【讨论】:
以上是关于如何在 QML 中播放目录中的视频的主要内容,如果未能解决你的问题,请参考以下文章