C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Как узнать длительность Avi-шного ф-ла?
Ledenezz
Отправлено: 10.03.2004, 20:55


Не зарегистрирован







Кто знает как можно узнать длительность Avi, mpg, asf и др. видео-файлов?
Я пыталась делать как это советуют в FAQ, но что-то там ерунду мне выдает вместо 3 мин — 198, с секундами и кадрами та же беда , где-то чего-то не хватает...
Может подскажете?
tsl
Отправлено: 15.03.2004, 21:36


Дежурный стрелочник

Группа: Участник
Сообщений: 65



Скорее всего Вы не установили удобный для себя формат времени:
MediaPlayer->TimeFormat = tfMilliseconds;
Формат времени по умолчанию, интерпретировали неправильно.

Образец кода следующий:

MediaPlayer->FileName = Path + "Pictures\\"
+"PictureName"+ ".avi";
this->MediaPlayer->Enabled = true;
MediaPlayer->Open();
MediaPlayer->TimeFormat = tfMilliseconds;
int tm = MediaPlayer->Length; // â ìèêðîñåêóíäàõ

Здесь Вы получите время фильма в тысячных долях секунды. По умолчанию, в этих единицах измеряется время в TTimer, что очень удобно.
.piero
Отправлено: 17.03.2004, 13:59


Дежурный стрелочник

Группа: Участник
Сообщений: 62



что — то типа

int i;
i = MediaPlayer1->Lenght;
а можно сразу прогресс на гагу кинуть:

/*MediaPlayer1->*/Gauge1->Progress = (100*Position/Lenght);

Но точно всё равно не помню wink.gif

Вернуться в Вопросы программирования в C++Builder