コード例 #1
0
static QByteArray debugMediaObject(const MediaObject& mediaObject)
{
    QByteArray byteArray;
    QTextStream stream(&byteArray);
    
    const QMetaObject* metaObject = mediaObject.metaObject();
    QMetaEnum phononStates = metaObject->enumerator(metaObject->indexOfEnumerator("PhononState"));

    stream << "Phonon::MediaObject(";
    stream << "State:" << phononStates.valueToKey(mediaObject.state());
    stream << "| Current time:" << mediaObject.currentTime();
    stream << "| Remaining time:" << mediaObject.remainingTime();
    stream << "| Total time:" << mediaObject.totalTime();
    stream << "| Meta-data:";
    QMultiMap<QString, QString> map = mediaObject.metaData();
    for (QMap<QString, QString>::const_iterator it = map.constBegin();
        it != map.constEnd(); ++it) {
        stream << "(" << it.key() << ", " << it.value() << ")";
    }
    stream << "| Has video:" << mediaObject.hasVideo();
    stream << "| Is seekable:" << mediaObject.isSeekable();
    stream << ")";
    
    stream.flush();

    return byteArray;
}