Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.03.2010, 09:54   #1
LiaSoft
Новичок
Джуниор
 
Регистрация: 21.03.2010
Сообщений: 2
Сообщение DSPack... непонятное

не сочтите совсем тупым, но на Delphi пишу всего год.
Вопрос 1:
Есть код проигрывания mms с использованием DSPack вещаемого через интернет.
Код:
  CoCreateInstance(CLSID_WMAsfReader, nil, CLSCTX_INPROC, IBaseFilter, FASFReader);
    (IVideoRender As IGraphBuilder).AddFilter(FASFReader, 'WMASFReader');

  // audio renderer
  CoCreateInstance(CLSID_DSoundRender, nil, CLSCTX_INPROC, IBaseFilter, FAudioRender);
    (IVideoRender As IGraphBuilder).AddFilter(FAudioRender, 'Default Audio Render');

  if (FASFReader.QueryInterface(IID_IFileSourceFilter, LFileSource) = S_OK) then
    LFileSource.Load(PWideChar(iURL), nil);

  (IVideoRender as ICaptureGraphBuilder2).RenderStream(nil, @MEDIATYPE_Video, FASFReader, nil,
    ((IVideoPanel As IVideoWindow) As IBaseFilter) );

  (IVideoRender as ICaptureGraphBuilder2).RenderStream(nil, @MEDIATYPE_Audio, FASFReader, nil,
    FAudioRender as IBaseFilter);
Определенные переменные:
Код:
  IVideoPanel : TVideoWindow;
  IVideoRender : TFilterGraph;
  FASFReader : IBaseFilter;
  FAudioRender : IBaseFilter;
  LFileSource: IFileSourceFilter;
Так вот если все это висит в одной процедуре то все работает, но перед началом проигрывания виснет секунд на 20 (Что раздражает). Я хотел этот код перенести в поток, но мне нужно чтоб с потока использовались компоненты брошеные на форму (Чтобы я мог использовать события TFilterGraph)... как это сделать? (Вопрос не риторический, просто как указать на компоненты?)

Вопрос 2:
Вот этот же код. Проблема: изображение есть, но оно в оригинальном размере и перевернуто к верх ногами (На изменение параметров TVideoWindow нет реакции).
LiaSoft вне форума Ответить с цитированием
Старый 21.03.2010, 13:49   #2
LiaSoft
Новичок
Джуниор
 
Регистрация: 21.03.2010
Сообщений: 2
По умолчанию

Ап!
Народ! Ну че сложного? Просто скажите как с потока использовать компоненты на форме!
LiaSoft вне форума Ответить с цитированием
Старый 21.03.2010, 21:32   #3
notHaker
Форумчанин
 
Аватар для notHaker
 
Регистрация: 01.12.2009
Сообщений: 569
По умолчанию

мда... DirectShow и так использует поток... Зачем исчо один?
Код - это работа, а работа стоит денег.

pz-game.ru. 2d зомби-сурвивал для олдфагов.
notHaker вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Заменить DSTrackBar на TrackBar inndim Компоненты Delphi 1 22.11.2010 17:04
Delphi7 и DSPack zmey31313 Компоненты Delphi 10 09.01.2010 22:19
проблема с DSPACK dani92 Мультимедиа в Delphi 3 19.11.2009 15:39
DSPack - установка Krechet Мультимедиа в Delphi 2 09.07.2009 10:23
проблема с DSPack XATAB Мультимедиа в Delphi 0 26.06.2009 20:15