开发者

Using taglib in a Qt application

I'd like to get the length of a media file in a qt application i'm building and so i decided to use taglib. This is the methos that is meant to read the length

void loadMetaData(QString file) {
    QByteArray fileName = QFile::encodeName( file );
    const char * encodedName = fileName.constData();
    TagLib::FileRef fileref = TagLib::FileRef( encodedName );
    if (fileref.isNull())
    {
        qDebug() << "Null";
    }
    else
    {
       qDebug() <开发者_如何学JAVA;< "Not Null";
    } 
}

Problem is fileref is always null for some reason and i can't figure out why......


Use the getter audioProperties() on your FileRef object. The returned pointer contains the length of the file in seconds.


TagLib# is able to work with some Theora files. I used it in a project but found it wouldn't work with many Theora videos (I don't think any converted using libtheora 1.1 worked).

TagLib.File file = TagLib.File.Create(@"c:\video.ogv");
string height = file.Properties.VideoHeight;

This is for the .NET, not C++ though.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜