2009-10-06 70 views
0

我想在我正在构建的qt应用程序中获取媒体文件的长度,因此我决定使用taglib。这是指读取长度在Qt应用程序中使用taglib

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() << "Not Null"; 
    } 
} 

问题是fileref总是空出于某种原因,我无法弄清楚,为什么methos ......

+0

我的不好!我正在用ogg theora文件进行测试,taglib似乎还没有支持它们。 Tablib应该有一个更好的回落methinks,而不是只返回一个空指针,不是? – anon 2009-10-06 14:15:39

+0

回到什么?它不能对Theora文件做任何事情,所以未能打开它们似乎是我的最佳选择。 – 2009-10-06 16:18:26

回答

0

TagLib#能够处理一些Theora文件。我在一个项目中使用它,但发现它不适用于许多Theora视频(我不认为使用libtheora 1.1进行了转换)。

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

这是为.NET,而不是C++。

相关问题