int main (int argc, char *argv[]) { //Information about MediaInfo MediaInfo MI; ZenLib::Ztring To_Display=MI.Option(__T("Info_Version"), __T("0.7.0.0;MediaInfoDLL_Example_MSVC;0.7.0.0")).c_str(); To_Display += __T("\r\n\r\nInfo_Parameters\r\n"); To_Display += MI.Option(__T("Info_Parameters")).c_str(); To_Display += __T("\r\n\r\nInfo_Capacities\r\n"); To_Display += MI.Option(__T("Info_Capacities")).c_str(); To_Display += __T("\r\n\r\nInfo_Codecs\r\n"); To_Display += MI.Option(__T("Info_Codecs")).c_str(); //An example of how to use the library To_Display += __T("\r\n\r\nOpen\r\n"); MI.Open(__T("Example.ogg")); To_Display += __T("\r\n\r\nInform with Complete=false\r\n"); MI.Option(__T("Complete")); To_Display += MI.Inform().c_str(); To_Display += __T("\r\n\r\nInform with Complete=true\r\n"); MI.Option(__T("Complete"), __T("1")); To_Display += MI.Inform().c_str(); To_Display += __T("\r\n\r\nCustom Inform\r\n"); MI.Option(__T("Inform"), __T("General;Example : FileSize=%FileSize%")); To_Display += MI.Inform().c_str(); To_Display += __T("\r\n\r\nGet with Stream=General and Parameter=\"FileSize\"\r\n"); To_Display += MI.Get(Stream_General, 0, __T("FileSize"), Info_Text, Info_Name).c_str(); To_Display += __T("\r\n\r\nGetI with Stream=General and Parameter=46\r\n"); To_Display += MI.Get(Stream_General, 0, 46, Info_Text).c_str(); To_Display += __T("\r\n\r\nCount_Get with StreamKind=Stream_Audio\r\n"); To_Display += ZenLib::Ztring::ToZtring(MI.Count_Get(Stream_Audio, -1)); //Warning : this is an integer To_Display += __T("\r\n\r\nGet with Stream=General and Parameter=\"AudioCount\"\r\n"); To_Display += MI.Get(Stream_General, 0, __T("AudioCount"), Info_Text, Info_Name).c_str(); To_Display += __T("\r\n\r\nGet with Stream=Audio and Parameter=\"StreamCount\"\r\n"); To_Display += MI.Get(Stream_Audio, 0, __T("StreamCount"), Info_Text, Info_Name).c_str(); To_Display += __T("\r\n\r\nClose\r\n"); MI.Close(); std::cout<<To_Display.To_Local().c_str()<<std::endl; return 0; }
int main (int argc, MediaInfoLib::Char *argv[]) { //Information about MediaInfo MediaInfo MI; String To_Display=MI.Option(_T("Info_Version"), _T("0.7.0.0;MediaInfoDLL_Example_MSVC;0.7.0.0")).c_str(); To_Display += _T("\r\n\r\nInfo_Parameters\r\n"); To_Display += MI.Option(_T("Info_Parameters")).c_str(); To_Display += _T("\r\n\r\nInfo_Capacities\r\n"); To_Display += MI.Option(_T("Info_Capacities")).c_str(); To_Display += _T("\r\n\r\nInfo_Codecs\r\n"); To_Display += MI.Option(_T("Info_Codecs")).c_str(); //An example of how to use the library To_Display += _T("\r\n\r\nOpen\r\n"); MI.Open(_T("Example.ogg")); To_Display += _T("\r\n\r\nInform with Complete=false\r\n"); MI.Option(_T("Complete")); To_Display += MI.Inform().c_str(); To_Display += _T("\r\n\r\nInform with Complete=true\r\n"); MI.Option(_T("Complete"), _T("1")); To_Display += MI.Inform().c_str(); To_Display += _T("\r\n\r\nCustom Inform\r\n"); MI.Option(_T("Inform"), _T("General;Example : FileSize=%FileSize%")); To_Display += MI.Inform().c_str(); To_Display += _T("\r\n\r\nGet with Stream=General and Parameter=\"FileSize\"\r\n"); To_Display += MI.Get(Stream_General, 0, _T("FileSize"), Info_Text, Info_Name).c_str(); To_Display += _T("\r\n\r\nGetI with Stream=General and Parameter=46\r\n"); To_Display += MI.Get(Stream_General, 0, 46, Info_Text).c_str(); To_Display += _T("\r\n\r\nCount_Get with StreamKind=Stream_Audio\r\n"); #ifdef __MINGW32__ Char* C1=new Char[33]; _itot (MI.Count_Get(Stream_Audio), C1, 10); To_Display +=C1; delete[] C1; #else toStringStream SS; SS << std::setbase(10) << MI.Count_Get(Stream_Audio); To_Display += SS.str(); #endif To_Display += _T("\r\n\r\nGet with Stream=General and Parameter=\"AudioCount\"\r\n"); To_Display += MI.Get(Stream_General, 0, _T("AudioCount"), Info_Text, Info_Name).c_str(); To_Display += _T("\r\n\r\nGet with Stream=Audio and Parameter=\"StreamCount\"\r\n"); To_Display += MI.Get(Stream_Audio, 0, _T("StreamCount"), Info_Text, Info_Name).c_str(); To_Display += _T("\r\n\r\nClose\r\n"); MI.Close(); #ifdef _UNICODE std::wcout << To_Display; #else std::cout << To_Display; #endif return 1; }
void NBMediaInfoModel::setupModel() { MediaInfo MI; MI.Open( FromQString( mFileName ) ); QStringList keys; for( int s = (int)Stream_General; s < (int)Stream_Max; s++ ) { size_t streamNumMax = MI.Count_Get( (stream_t)s ); if ( not streamNumMax ) continue; for( size_t j = 0; j < streamNumMax; j++ ) { QString streamKindName = FromZString( MI.Get( (stream_t)s, j, ZString( "StreamKind/String" ), Info_Text ) ); if ( streamNumMax > 1 ) streamKindName += QString( " %1" ).arg( j ); size_t infoCount = MI.Count_Get( (stream_t)s, j ); if ( not infoCount ) continue; NBMediaInfoNode *streamNode = new NBMediaInfoNode( streamKindName, QString(), rootNode ); keys.clear(); for( size_t i = 0; i < infoCount; i++ ) { QString name = FromZString( MI.Get( (stream_t)s, j, i, Info_Name_Text ) ); QString value = FromZString( MI.Get( (stream_t)s, j, i, Info_Text ) ); if ( name.contains( "Count", Qt::CaseInsensitive ) ) continue; else if ( name.contains( "name", Qt::CaseInsensitive ) and not name.contains( "track", Qt::CaseInsensitive ) ) continue; else if ( name.startsWith( "Kind of", Qt::CaseInsensitive ) ) continue; else if ( name == "File size" ) continue; else if ( name.contains( "last modification", Qt::CaseInsensitive ) ) continue; else if ( name.contains( "Extensions usually", Qt::CaseInsensitive ) ) continue; if ( value.size() ) value += FromZString( MI.Get( (stream_t)s, 0, i, Info_Measure_Text ) ); if ( not name.size() or not value.size() ) continue; if ( not keys.contains( name ) ) { keys << name; streamNode->addChild( new NBMediaInfoNode( name, value, streamNode ) ); } } rootNode->addChild( streamNode ); } } mQuickInfo = FromZString( MI.Inform() ); };