【问题标题】:How to play a video from directory in QML如何在 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:/

标签: qt qml


【解决方案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)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-23
    • 1970-01-01
    • 2014-02-07
    • 1970-01-01
    相关资源
    最近更新 更多