Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QMediaPlayer::metaData()可以';我拿不到mp3的封面_Qt_Metadata_Qmediaplayer - Fatal编程技术网

Qt QMediaPlayer::metaData()可以';我拿不到mp3的封面

Qt QMediaPlayer::metaData()可以';我拿不到mp3的封面,qt,metadata,qmediaplayer,Qt,Metadata,Qmediaplayer,我将带封面的mp3媒体设置为QMediaPlayer,调用QMediaPlayer::isMetaDataAvailable(),它返回true,然后调用QMediaPlayer::availableMetaData(),它返回以下内容: ("Author", "AverageLevel", "Description", "PeakValue", "Title", "WM/AlbumArtist", "WM/AlbumTitle", "WM/Composer", "WM/ContentGroup

我将带封面的mp3媒体设置为
QMediaPlayer
,调用
QMediaPlayer::isMetaDataAvailable()
,它返回true,然后调用
QMediaPlayer::availableMetaData()
,它返回以下内容:

("Author", "AverageLevel", "Description", "PeakValue", "Title", "WM/AlbumArtist", "WM/AlbumTitle", "WM/Composer", "WM/ContentGroupDescription", "WM/Genre", "WM/Picture", "WM/Track", "WM/TrackNumber", "WM/Year")
例如,如果我调用
QMediaPlayer::metaData(QMediaMetaData::Title).toString()
它将返回正确的标题。 但出于某种原因,上述一切都只会带来空虚:

qDebug()<< player->metaData(QMediaMetaData::CoverArtImage).toString();
qDebug()<< player->metaData(QMediaMetaData::CoverArtUrlLarge).toString();
qDebug()<< player->metaData(QMediaMetaData::CoverArtUrlLarge).toString();
qDebug()<< player->metaData(QMediaMetaData::CoverArtUrlSmall).toString();
qDebug()<< player->metaData(QMediaMetaData::PosterImage).toString();
qDebug()<< player->metaData(QMediaMetaData::PosterUrl).toString();
qDebug()元数据(QMediaMetaData::coveratimage.toString();
qDebug()元数据(QMediaMetaData::covertartrlarge).toString();
qDebug()元数据(QMediaMetaData::covertartrlarge).toString();
qDebug()元数据(QMediaMetaData::covertartsallow).toString();
qDebug()元数据(QMediaMetaData::PosterImage.toString();
qDebug()元数据(QMediaMetaData::PosterUrl).toString();

我不明白为什么。有人能给我一些建议吗?

covertarimage
PosterImage
返回
QImage
。我不确定您是否可以将变体转换为字符串。您是否尝试过
player->metdata(“WM/Picture”)
?然后
variant.value()
从变量获取实际图像?
player->metaData(“WM/Picture”).value().isNull()
返回true@Kikohsdid您在将变体投射到qimage之前检查它吗?该
QVariant
的输出如下:
QVariant(无效)
@kikohstis这太奇怪了。即使它返回
“WM/Picture”
作为
QMediaPlayer::availableMetaData()
的一部分,但当我尝试
QMediaPlayer::metaData(“WM/Picture”).isValid()
时,它返回false,并且
QMediaPlayer::metaData(“WM/Picture”).isNull()返回true。。