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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 04.01.2017, 16:11   #1
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию не показывает видео на Windows 7 Home Basic

Здравствуйте.
Вот такой тестовый код:
Код:
function buildGraph: HRESULT;
begin
    Result := CoCreateInstance(CLSID_FilterGraph, nil, CLSCTX_INPROC_SERVER ,
                           IID_IGraphBuilder, pGraphBuilder);
  Result := CoCreateInstance(CLSID_CaptureGraphBuilder2, NIL,
                          CLSCTX_INPROC_SERVER, IID_ICaptureGraphBuilder2,
                         pCaptureGraphBuilder);
  pCaptureGraphBuilder.SetFiltergraph(pGraphBuilder);
  Result := pGraphBuilder.AddSourceFilter(StringToOleStr(FileName),'source',fsource);
  Result :=  coCreateInstance(CLSID_VideoRenderer, nil,
                                   CLSCTX_INPROC_SERVER,
                                   IID_IBaseFilter, fVideoRenderer);
  pGraphBuilder.AddFilter(fVideoRenderer,'Video renderer');

  Result := CoCreateInstance(CLSID_FfdshowVideoDecoder,nil,CLSCTX_INPROC_SERVER,
                               IID_IBaseFilter,fVideoDecoder);
  pGraphBuilder.AddFilter(fVideoDecoder,'video decoder');
  Result := pCaptureGraphBuilder.RenderStream(nil,@MEDIATYPE_VIDEO,
                                   fSource,fVideoDecoder,fVideoRenderer);
  pGraphBuilder.QueryInterface(IID_IBasicVideo,pBasicVideo);
  pGraphBuilder.QueryInterface(IID_IVideoWindow,pVideoWindow);
  pGraphBuilder.QueryInterface(IID_IMediaControl,pMediaControl);

  pVideoWindow.put_Owner(Form1.pnl1.Handle);
  pVideoWindow.put_WindowStyle(WS_CHILD or WS_CLIPSIBLINGS);
  pVideoWindow.SetWindowPosition(0,0,Form1.pnl1.Width,Form1.pnl1.Height);
  pMediaControl.Run;
end;
Если обойтись без длинной и унылой предыстории, то на Windows 7 Ultimate работает, а на Windows 7 Home Basic нет. На других не проверял. В данный момент компилирую на Delphi XE10 Seattle Lite.
Result на каждой строчке равен 0.
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.01.2017, 16:14   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

на Базовой кодеки не стоят или дрова какие-нибудь?
лучше кинь саму программу, чтоб запустил народ и проверил у себя. авось, у кого-нибудь базовая стоит. ну и мы проверим работоспособность
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 04.01.2017, 16:49   #3
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Какое именно издание?
Если N (не обязательно Home Basic), то там вроде нет виндовского плеера и кодеков по умолчанию.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.01.2017, 17:01   #4
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

BLACK_RAIN
Под виртуалкой запускаешь?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .
Pavia вне форума Ответить с цитированием
Старый 04.01.2017, 17:26   #5
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от Pavia Посмотреть сообщение
BLACK_RAIN
Под виртуалкой запускаешь?
И под виртуалкой и на двух реальных компах.
НО. У меня есть довольно большой старый проект плеера на Delphi7. Там очень много длинного и запутанного кода (я решил переписать всё заново). Этот проект работает. Я не пойму, в чем разница. Код ведь тот же, но там дофига всякой логики прописано (скриншоты, выбор кодеков и т.п.). А если код из первого поста откомпилить в D7 - он не работает. Это как понимать?
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Какое именно издание?
Если N (не обязательно Home Basic)
а чем это по-быстрому проверить?
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.01.2017, 17:31   #6
BLACK_RAIN
Форумчанин
 
Регистрация: 13.02.2012
Сообщений: 867
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
лучше кинь саму программу, чтоб запустил народ и проверил у себя. авось, у кого-нибудь базовая стоит. ну и мы проверим работоспособность
вот: https://yadi.sk/d/5Zxl3fU336uAYz
файлы открывать перетаскиванием.
Добавил мессаги к двум возможным ошибкам.

Последний раз редактировалось BLACK_RAIN; 04.01.2017 в 17:33.
BLACK_RAIN вне форума Ответить с цитированием
Старый 04.01.2017, 17:56   #7
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от BLACK_RAIN Посмотреть сообщение
а чем это по-быстрому проверить?
должно быть указано в свойствах системы.
Ну там где лого, активация, проц/память и т.п.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 04.01.2017, 18:26   #8
Pavia
Лис
Старожил
 
Аватар для Pavia
 
Регистрация: 18.09.2015
Сообщений: 2,409
По умолчанию

BLACK_RAIN
Ваши показания не сходятся.
У вас в первом сообщении граф захвата IID_ICaptureGraphBuilder2, а вы толкуете про вывод. Как изволите вас понимать?

Цитата:
И под виртуалкой и на двух реальных компах.
А вы знаете что на виртуалках кривые драйвера?
Из-за кривых драйверов может неработать рендер по умолчанию. Надёжнее проверять на GDI.

Какой DirectX стоит и какая видеокарта?

Во-вторых какой набор кодеков установлен? Какой формат видеофайла?

В-третьих MPEG-2 может не выдавать ошибки по формату файла до тех пор пока не начнётся проигрывание файла.

А под MPEG-2 майкрософт понимает кучу всяких форматов видеофайлов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал .

Последний раз редактировалось Pavia; 04.01.2017 в 18:30.
Pavia вне форума Ответить с цитированием
Старый 04.01.2017, 19:27   #9
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,792
По умолчанию

мда... 3 МБайта архив и 12 Мбайт сама программа - форма+панель, которая ничего не делает... начало для саморазвития есть! причём, нехилое...
W7x32 Ultimate. итог:не работает для AVI и MP4 форматов
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 04.01.2017, 19:39   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
3 МБайта архив и 12 Мбайт сама программа
и? это много?

вообще наверно просто дебаг сборка
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
windows xp home edition pavelslap Windows 2 30.06.2011 08:06
не показывает видео mrs.rafanadal Мультимедиа в Delphi 11 29.04.2009 17:21
Vista Home Basic 64-bit NIKITUS Windows 4 31.03.2009 18:44