Jeg søger en guide eller kort forklaring af hvilke handles der skal bruges til følgende:
Jeg ønsker at lave et program som basalt set får informationer om en .avi fil såsom længde, fps, og den slags information man finder ved at højreklikke på en avi fil -> summary
Noget generelt for C++ foretrækkes, men ellers MS Visual C++/Borland C++
Borland og MS Visual Studio 6.0 og "platform sdk" har aviriff.h hvor strukturene er beskrevet. mingw og digital mars har den ikke. Jeg kan godt forsøge at lave et eksempel senere.
int main(int argc, char *argv[]) { if(argc != 2) { std::cout << "Com On! give me the name of some file!" << std::endl; return 1; } std::ifstream File(argv[1]); if(!File) { std::cout << "I told you to give me the name of a openable file!" << std::endl; return 2; }
Håber du har tid til at forjlare mig noget... Jeg hentede Borland C++ compiler fra Borlands hjemmeside, men får en del fejl hvis jeg forsøger at compilere din kode :(
Jeg kan følge dig i den kode du skriver, men det er compileren ikke enig i, f.eks.: Error E2090 C:\Documents and Settings\<**>\Skrivebord\main.cpp 28: Qualifier 'std' is not a class or namespace name in function main(int,char * *) Error E2379 C:\Documents and Settings\<**>\Skrivebord\main.cpp 28: Statement missing ; in function main(int,char * *)
Det mærkelige er at det først er at de inkluderede filer ikke blev åbnet, og da jeg rettede det ved at sige stien dertil og erstatte > og < med " hele vejen igennem så endte jeg med en fejlfri compilation, men intet output (eller .exe for den sags skyld)
Ah ja, nu kørte den straks bedre, men den brokker sig over at den ikke kan starte ilink.
C:\Documents and Settings\<*>>C:\Borland\BCC55\Bin\bcc32.exe "C:\Docu ments and Settings\Casper Jebjerg\Desktop\main.cpp" Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland C:\Documents and Settings\<*>\Desktop\main.cpp: Error E2133: Unable to execute command 'ilink32.exe'
Jeg må ærligt indrømme at jeg ikke har beskæftiget mig med Borlands C++ compiler før, så jeg undskylder for mine dumme fejl
Har du puttet mappen med bcc32.exe og ilink32.exe i windows PATH?
Du kan gøre det midlertidigt for den kommandoprompt du har åben ved at køre kommandoen: path=C:\Borland\BCC55\Bin;%Path%
Så bør du kunne køre kompileren ved blot at skrive: bcc32 "C:\Documents and Settings\Casper Jebjerg\Desktop\main.cpp"
Du kan også sætte path permanent: Tryk <Windows Tast>+<Pause> -> Vælg Avanceret i boksen der dukker op, og tryk på "miljøvariable". Dette vil ikke virke for de kommandoprompter du har åben, kun for nye.
Jeg har gennemsøgt aviriff.h og msdn for at finde variablen der indeholder "bitrate" for avi filen. windows explorer kan vise hvad lyd-bitraten er (højreklik->summary), men det ser ikke ud til at det DWORD er med i riff'en?
Hvis det ikke er muligt, er det så muligt at bestemme størrelsen af lyden/størrelsen af videoen på anden vis?
Det er ikke helt simpelt. Avi filer kan være encodet på mange måder og nogle har variabel bitrate. For nogle .avi filer vil jeg tror at du kan læse bitrate i "AviMainHeader.dwMaxBytesPerSec" (du skal måske gange med 8), men for andre .avi'er er denne 0. Du kender antallet af rammer (dwTotalFrames), rammer pr. sekund (AviStreamHeader.dwRate/AviStreamHeader.dwScale) og størrelsen på filen (du skal nok trække 2k fra, da de første 2048 bytes vist er header), og så burde du kunne udregne den gennemsnitlige bitrate.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.