Directx And Ms Visual C++

Тема в разделе "MS Visual C++", создана пользователем Boshop, 20 дек 2011.

Статус темы:
Закрыта.
  1. Boshop

    Boshop Гость

    Как подключить Directx SDK к 2010 версии визуал студии?
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Прописать в настройках VS пути к заголовочным файлам и библиотекам.
     
  3. Boshop

    Boshop Гость

    Нет там для каждого проекта нужно заново указывать пути но я прописываю и ничего не меняется обьясните как нормально сделать?
     
  4. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    А. Да. Действительно в 2010 этого уже нет.
    Тогда надо вручную добавить пути в "Переменные среды", те что в свойствах моего компьютера.

    Если Windows 7:
    Мой Компьютер -> Свойства -> Дополнительные параметры системы -> Переменные среды.
    Там для пользователя, под которым ты находишься добавляешь путь заголовочных файлов в переменную окружения include (в твоем случае тебе её надо будет создать), а путь к библиотекам в переменную lib.
     
  5. Boshop

    Boshop Гость

    И ещё вопросик как подключить Directx к Borland c++ Builder?
     
  6. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Понятия не имею, я им никогда не пользовался. Но есть вариант что так же.
     
  7. vol4ek88

    vol4ek88 Гость

    SDK это полный пакет. там direct show, direct audio, direct draw.

    Добавлено: определитесь сначала что вам оттуда надо.

    Добавлено: вот пример использования direct show для воспроизведения mp3

    Код (C++):
    #include <dshow.h>
    #pragma comment (lib, "strmiids.lib")

    // ИСПОЛЬЗУЕТСЯ UNICODE

    IGraphBuilder *pGraph = NULL;
    IMediaControl *pControl = NULL;
    IMediaEvent *pEvent = NULL;


    HRESULT hr = CoInitialize(NULL);



    hr = CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER,
    IID_IGraphBuilder, (void **)&pGraph);


    hr = pGraph->QueryInterface(IID_IMediaControl, (void **)&pControl);
    hr = pGraph->QueryInterface(IID_IMediaEvent, (void **)&pEvent);


    hr = pGraph->RenderFile("1.mp3", NULL);
    if (SUCCEEDED(hr))
    {

    hr = pControl->Run();
    if (SUCCEEDED(hr))
    {
    long evCode;
    pEvent->WaitForCompletion(INFINITE, &evCode);

    }
    }


    pControl->Release();
    pEvent->Release();
    pGraph->Release();
    CoUninitialize();
     
  8. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    DirectShow не входит в DirectX SDK.
     
  9. vol4ek88

    vol4ek88 Гость

    в новые версии и draw не входит. у меня 2008 года, здесь еще есть.
     
  10. vol4ek88

    vol4ek88 Гость

    как это нет? а вон он в Program Files\Microsoft SDKs вместе с windows идет. может ты draw имел ввиду.

    Добавлено: и вот его код dshow.h

    Код (C++):
    //------------------------------------------------------------------------------
    // File: DShow.h
    //
    // Desc: DirectShow top-level include file
    //
    // Copyright (c) 2000-2001, Microsoft Corporation. All rights reserved.
    //------------------------------------------------------------------------------

    #ifndef __DSHOW_INCLUDED__
    #define __DSHOW_INCLUDED__

    ///////////////////////////////////////////////////////////////////////////
    // Set up constants & pragmas for the compiler
    ///////////////////////////////////////////////////////////////////////////
    #ifdef _MSC_VER
    // disable some level-4 warnings, use #pragma warning(default:###) to re-enable
    #pragma warning(disable:4100) // warning C4100: unreferenced formal parameter
    #pragma warning(disable:4201) // warning C4201: nonstandard extension used : nameless struct/union
    #pragma warning(disable:4511) // warning C4511: copy constructor could not be generated
    #pragma warning(disable:4512) // warning C4512: assignment operator could not be generated
    #pragma warning(disable:4514) // warning C4514: "unreferenced inline function has been removed"

    #if _MSC_VER>=1100
    #define AM_NOVTABLE __declspec(novtable)
    #else
    #define AM_NOVTABLE
    #endif
    #endif // MSC_VER

    ///////////////////////////////////////////////////////////////////////////
    // Include standard Windows files
    ///////////////////////////////////////////////////////////////////////////
    #include <windows.h>
    #include <windowsx.h>
    #include <olectl.h>
    #include <ddraw.h>
    #include <mmsystem.h>

    #ifndef NO_DSHOW_STRSAFE
    #define NO_SHLWAPI_STRFCNS
    #include <strsafe.h>
    #endif

    #ifndef NUMELMS
    #define NUMELMS(aa) (sizeof(aa)/sizeof((aa)[0]))
    #endif

    ///////////////////////////////////////////////////////////////////////////
    // Include DirectShow include files
    ///////////////////////////////////////////////////////////////////////////
    #include <strmif.h>  // Generated IDL header file for streams interfaces
    #include <amvideo.h>    // ActiveMovie video interfaces and definitions
    #include <amaudio.h>    // ActiveMovie audio interfaces and definitions
    #include <control.h>    // generated from control.odl
    #include <evcode.h>  // event code definitions
    #include <uuids.h>   // declaration of type GUIDs and well-known clsids
    #include <errors.h>  // HRESULT status and error definitions
    #include <edevdefs.h>  // External device control interface defines
    #include <audevcod.h>  // audio filter device error event codes
    #include <dvdevcod.h>  // DVD error event codes

    ///////////////////////////////////////////////////////////////////////////
    // Define OLE Automation constants
    ///////////////////////////////////////////////////////////////////////////
    #ifndef OATRUE
    #define OATRUE (-1)
    #endif // OATRUE
    #ifndef OAFALSE
    #define OAFALSE (0)
    #endif // OAFALSE

    ///////////////////////////////////////////////////////////////////////////
    // Define Win64 interfaces if not already defined
    ///////////////////////////////////////////////////////////////////////////

    // InterlockedExchangePointer
    #ifndef InterlockedExchangePointer
    #define InterlockedExchangePointer(Target, Value) \
    (PVOID)InterlockedExchange((PLONG)(Target), (LONG)(Value))

    #endif


    #endif // __DSHOW_INCLUDED__
     
  11. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Microsoft SDK это не DirectX SDK.

    http://en.wikipedia.org/wiki/DirectShow
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей