如何从Qt中的音频文件访问元数据

如何从Qt中的音频文件访问元数据,qt,qml,qtquick2,Qt,Qml,Qtquick2,我正在使用QML在Qt中模拟MusicPlayer, 这是我从.mp3文件访问元数据的代码 ApplicationWindow { visible: true width: 640 height: 480 Audio { id:audio1 source:"/music/2.mp3" } Component.onCompleted: { console.log(audio1.metaData.title) } }

我正在使用QML在Qt中模拟
MusicPlayer
, 这是我从
.mp3
文件访问元数据的代码

ApplicationWindow {
    visible: true
    width: 640
    height: 480

    Audio {
        id:audio1
        source:"/music/2.mp3"
    }

    Component.onCompleted: { console.log(audio1.metaData.title) }
}

但是,当您调用
控制台.log(audio1.metaData.title)
媒体尚未加载时,元数据的输出是
未定义的
。
您需要检查
状态
属性

示例:

ApplicationWindow {
    visible: true
    width: 640
    height: 480

    Audio {   
        id:audio1
        source:"/music/2.mp3"

        onStatusChanged: {
            if(status == MediaPlayer.Loaded) {
                console.log(audio1.metaData.author)
            }
        }
    }
}

请不要通过回滚我们的改进来破坏您的帖子。如果媒体是文件,状态将永远不会被加载,它将被缓冲。