本文整理汇总了C++中phonon::MediaObject::metaData方法的典型用法代码示例。如果您正苦于以下问题:C++ MediaObject::metaData方法的具体用法?C++ MediaObject::metaData怎么用?C++ MediaObject::metaData使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类phonon::MediaObject
的用法示例。
在下文中一共展示了MediaObject::metaData方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: GetMetadata
QVariantMap TrackListDBusHandler::GetMetadata(int position)
{
QVariantMap ret;
if (position < 0 || position > m_tracks.size()-1) {
return ret;
}
//FIXME: ugly and slow
Phonon::MediaObject mediaObject;
mediaObject.setCurrentSource(m_tracks[position]);
QMultiMap<QString, QString> stringMap = mediaObject.metaData();
QMultiMap<QString, QString>::const_iterator i = stringMap.constBegin();
while (i != stringMap.constEnd()) {
bool number = false;
int value = i.value().toInt(&number);
//tracknumber always string, according to MPRIS spec
if (number && (i.key().toLower() != "tracknumber")) {
ret[i.key().toLower()] = value;
} else {
ret[i.key().toLower()] = QVariant(i.value());
}
++i;
}
ret["time"] = mediaObject.totalTime()/1000;
ret["location"] = mediaObject.currentSource().url().toString();
return ret;
}
示例2: setDir
void APlayer::setDir(QString path)
{
old = 0;
m_media->clear();
w_folderContents->clear();
while (QTreeWidgetItem *item = w_folderContents->takeTopLevelItem(0))
{
delete item;
}
path += "/";
QDir dir(path);
QStringList files = dir.entryList(QStringList() << "*.mp3" << "*.ogg" << "*.wav" << "*.wma",
QDir::Files | QDir::NoDotAndDotDot,
QDir::Name);
QString f = path + "%2";
Phonon::MediaObject media;
foreach (QString file, files)
{
QString filepath = f.arg(file);
media.setCurrentSource(filepath);
QMap <QString,QString> metaData = media.metaData();
QStringList metaList;
metaList << metaData.value("ARTIST")
<< metaData.value("TITLE")
<< metaData.value("ALBUM")
<< metaData.value("DATE");
qDebug() << metaList;
if (metaList[0].isEmpty())
metaList[0] = file;
QTreeWidgetItem *item = new QTreeWidgetItem(metaList);
item->setData(0, Qt::UserRole, filepath);
w_folderContents->addTopLevelItem(item);
}