| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
djan Новенький
Зарегистрирован: 27.07.2007 Сообщения: 6 Откуда: от туда
|
Добавлено: Пт Июл 27, 2007 3:56 pm Заголовок сообщения: Ускоренное воспроизведение файлов |
|
|
| Нужно воспроизводить ускоренно несколько файлов подряд. Зарегестрировал IMediaSeeking. Соразу после вызова функции Play вызываю pMediaSeeking->SetRate. Работает четко через раз. Т.е. Первый файл начинает воспроизводитя ускоренно, второй - нормально, третий - ускоренно и т.д. Подскажите в чем может быть проблема? |
|
| Вернуться к началу |
|
 |
WondeRu Главвред :)

Зарегистрирован: 30.10.2006 Сообщения: 188 Откуда: Самара
|
Добавлено: Пн Июл 30, 2007 8:12 am Заголовок сообщения: |
|
|
| Форматы файлов одинаковые? Одним кодеком зажаты? Граф каждый раз перестраивается? |
|
| Вернуться к началу |
|
 |
djan Новенький
Зарегистрирован: 27.07.2007 Сообщения: 6 Откуда: от туда
|
Добавлено: Пн Июл 30, 2007 1:08 pm Заголовок сообщения: |
|
|
| WondeRu писал(а): | | Форматы файлов одинаковые? Одним кодеком зажаты? Граф каждый раз перестраивается? |
Абсолютно одинаковые, сжатые Xvid. При стопе -
| Код: | hr=pMediaControl->Stop();
pGraphBuilder->RemoveFilter(pSourseFile);
pGraphBuilder->RemoveFilter(pSplitter);
pGraphBuilder->RemoveFilter(pCodec);
pGraphBuilder->RemoveFilter(pVideoRender); |
При открытии - | Код: | hr=pGraphBuilder->AddSourceFilter(wszSourseFile,NULL,&pSourseFile);
hr=pGraphBuilder->AddFilter(pSplitter, NULL);
hr=pGraphBuilder->AddFilter(pCodec, NULL);
hr=pGraphBuilder->AddFilter(pVideoRender, NULL);
// сборка графа
| При воспроизведении - | Код: |
hr=pMediaControl->Run();
if (FAILED(hr))
{
return false;
}
hr=pMediaSeeking->SetRate(multiplier);
if (FAILED(hr))
{
return false;
}
| multiplier всегда равен 2,0 и SetRate() возвращает не FAILED
Но файл воспроизводится со скоростью 1,0. Если во время воспоизведения устаночить multiplier, то все работает правильно.
В чем может быть проблема? |
|
| Вернуться к началу |
|
 |
|