2009-10-06 189 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++。