#include <QApplication>
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QObject>
class Demo: public QVideoWidget
{
Q_OBJECT
public:
Demo
(QWidget *p
= Q_NULLPTR
): QVideoWidget
(p
), player
(Q_NULLPTR
) { player = new QMediaPlayer(this);
player->setVideoOutput(this);
connect(player, SIGNAL(metaDataAvailableChanged(bool)), this, SLOT(metaDataAvailableChanged(bool)));
player
->setMedia
(QUrl::fromLocalFile("/tmp/tt/video.mp4"));
player->setVolume(50);
player->play();
}
public slots:
void metaDataAvailableChanged(bool available) {
if (available) {
qDebug() << "Available";
foreach
(QString key, player
->availableMetaData
()) { qDebug() << key << player->metaData(key);
}
}
else {
qDebug() << "Not available";
}
}
private:
QMediaPlayer *player;
};
int main(int argc, char **argv) {
Demo d;
d.show();
return app.exec();
}
#include "main.moc"
#include <QApplication>
#include <QMediaPlayer>
#include <QVideoWidget>
#include <QObject>
class Demo: public QVideoWidget
{
Q_OBJECT
public:
Demo(QWidget *p = Q_NULLPTR): QVideoWidget(p), player(Q_NULLPTR) {
player = new QMediaPlayer(this);
player->setVideoOutput(this);
connect(player, SIGNAL(metaDataAvailableChanged(bool)), this, SLOT(metaDataAvailableChanged(bool)));
player->setMedia(QUrl::fromLocalFile("/tmp/tt/video.mp4"));
player->setVolume(50);
player->play();
}
public slots:
void metaDataAvailableChanged(bool available) {
if (available) {
qDebug() << "Available";
foreach(QString key, player->availableMetaData()) {
qDebug() << key << player->metaData(key);
}
}
else {
qDebug() << "Not available";
}
}
private:
QMediaPlayer *player;
};
int main(int argc, char **argv) {
QApplication app(argc, argv);
Demo d;
d.show();
return app.exec();
}
#include "main.moc"
To copy to clipboard, switch view to plain text mode
for my sample video:
"maximum-bitrate" QVariant(uint,
144896)
"AudioBitRate" QVariant(uint, 120272)
"AudioCodec" QVariant(QString, "MPEG-4 AAC audio")
"maximum-bitrate" QVariant(uint, 144896)
To copy to clipboard, switch view to plain text mode
Bookmarks