Просмотр видеороликов
В табл. 4.10 приведены значения свойств компонентов SpeedButton1 и SpeedButton2 разрабатываемой программы. Текст программы Video Player приведен в листинге 4.4.
Таблица 4.10. Значение свойств компонентов SpeedButton1 и SpeedButton2.
Свойство | SpeedButton1 | SpeedButton2 |
---|---|---|
Gliph | ejbtn.bmp | plbtn.bmp |
NumGliphs | 4 | 4 |
Flat | true | true |
AllowUp | false | true |
Grouplndex | 0 | 1 |
Enabled | true | false |
Width | 25 | 25 |
Height | 25 | 25 |
ShowHint | true | true |
Hint | Eject | Play |
Листинг 4.4. Видеоплеер.
//обработка события Create void __fastcall TForml::FormCreate(TObject *Sender) { MediaPlayerl › Display = Forml; // отображение ролика на поверхности // формы } // возвращает размер кадра AVI-файла void __fastcall GetFrameSize(AnsiString f, int *w, int *h) { // в заголовке AVI-файла есть информация о размере кадра struct { char RIFF[4]; // строка RIFF long int nu_l[5]; //не используется char AVIH[4]; // строка AVIH long int nu_2[9]; //не используется long int w; // ширина кадра long int h; // высота кадра } header; TFileStream *fs; // поток (для чтения заголовка файла) /* операторы объявления потока и его создания можно объединить: TFileStream *fs = new TFileStream(f,fmOpenRead); */ fs = new TFileStream(f,fmOpenRead}; // открыть поток для чтения fs › Read(&header, sizeof(header)); // прочитать заголовок файла *w = header.w; *h = header.h; delete fs; } // щелчок на кнопке Eject (выбор видеоклипа)