0 / 0 / 0
Регистрация: 12.08.2014
Сообщений: 131
1

DirectShow, проиграть видео в своем окне?

13.03.2016, 19:47. Показов 2171. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
IGraphBuilder::RenderFile играет в отдельном окне, реально ли как то проиграть файл в своем уже существующем окне?

Добавлено через 20 часов 43 минуты
не могу понять это - https://msdn.microsoft.com/en-... s.85).aspx , то что мне нужно ,или нет?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.03.2016, 19:47
Ответы с готовыми решениями:

DirectShow вывод видео в текстуру для отображения его в окне игры
Пытаюсь разобраться в коде для воспроизведения видео в текстуру с собственным Allocator-Presenter...

Directshow два видеофайла в одном окне
взял за основу "...Samples\multimedia\directshow\players\dshowplayer" этот пример, который...

Шифрование видео на DirectShow
Только-только начинаю осваивать DirectShow (в связке с CBuilder). Написал простенький видеоплеер....

DirectShow. пропадает видео
Привет всем. Собственно такая проблема: испульзую DirectShow На базе winapi проекта создал окно. В...

2
139 / 137 / 66
Регистрация: 15.05.2012
Сообщений: 515
15.03.2016, 16:43 2
Лучший ответ Сообщение было отмечено yotsi как решение

Решение

Оно?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
static HINSTANCE ghInstance = NULL;
static HWND hStatic, hwnd;
 
LRESULT CALLBACK WndProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
 
    switch (msg)
    {
    case WM_CREATE:
        hStatic = CreateWindowEx(NULL, "Static", "", 
            WS_BORDER | WS_CHILD | WS_VISIBLE | SS_GRAYRECT,
            0, 0,
            800, 500,
            hwnd, NULL,
            ghInstance, NULL);
        }
}
 
IGraphBuilder* myBuilder;
IMediaControl* myControl;
IVideoWindow* myWindow; // video window
 
CoInitialize(NULL);
    hr = CoCreateInstance(CLSID_FilterGraph,
        NULL,
        CLSCTX_INPROC_SERVER,
        IID_IGraphBuilder,
        (void**)&myBuilder);
 
    if (SUCCEEDED(hr))
    {
        myBuilder->QueryInterface(IID_IMediaControl, (void**)&myControl);
        myBuilder->RenderFile(L"C:\\blabla.avi", NULL);
        // set video window
        myBuilder->QueryInterface(IID_IVideoWindow, (void**)& myWindow);
        myWindow->put_Owner(OAHWND(hStatic));
        myWindow->put_WindowStyle(WS_CHILD | WS_CLIPSIBLINGS);
        myWindow->SetWindowPosition(0, 0, 800, 500);
        myWindow->put_MessageDrain((OAHWND)hStatic);
        myWindow->put_Visible(OATRUE);
    }
0
0 / 0 / 0
Регистрация: 12.08.2014
Сообщений: 131
15.03.2016, 21:31  [ТС] 3
Цитата Сообщение от wendstor Посмотреть сообщение
Оно?
Я сделал так как тут - https://msdn.microsoft.com/ru-... s.85).aspx
0
15.03.2016, 21:31
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.03.2016, 21:31
Помогаю со студенческими работами здесь

Работа с видео и DirectShow
Готовлюсь вот поработать с ним (тащу вампиром 140М DirectX SDK 8.0, так сложилось что нет 10грв....

DirectShow запись видео и звука
Звук(in) с микрофона(in) и видео с экрана пишется нормально. Вопрос, а как в этот же avi-файл...

DirectShow захват видео со звуком
Подкиньте пожалуйста пару хороших примеров в этом направлении)

Воспроизведение видео через DirectShow
В режиме Debug сразу после MyMediaControl.Run выдает ошибку (как на скрине), если запускать exe...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru