Форумы:
Программирование DirectX / DirectShow
Предложения и bug report
Как подружить DirectX 8.1 / DirectShow и C++Builder 6
Для начала советую скачать DirectX 8.1 SDK (http://www.microsoft.com/directx/default.asp)
Скопируйте все файлы из каталога Include в соответствующий каталог C++Builder (перезаписывая имеющиеся). В файл d3dx8math.inl нужно добавить макросы:
#define sqrtf(x) (FLOAT)sqrt(x);
#define asinf(x) (FLOAT)asin(x);
На всякий случай советую во все новые *.h файлы добавить следующее (для C++Builder 5):
#pragma option push -b -a8 -pc -A- /*P_O_Push*/
<original code>
#pragma option pop /*P_O_Pop*/
Необходимые библиотеки можно создать с помощью утилиты implib.exe, например
так:
>implib.exe dsound.lib dsound.dll
>implib.exe ddraw.lib ddraw.dll
Практически невозможно полноценно использовать DirectX 8 / DirectShow без библиотек strmiids.lib, dxguid.lib, amstrmid.lib, dmoguids.lib, в которых содержатся все GUIDs. К сожалению Microsoft не пожелал сделать версию для Borland (как это было в DirectX 7 SDK). Я написал программу, которая генерит исходники этой библиотеки.
Project properties:
В свойствах проекта нужно выбрать "MFC compatibility" на закладке "Advanced Compiler" и "Treat enum types as ints" на закладке "Compiler".
Вручную исправьте следующие строки в BPR файле:
<PROJECT>
<MACROS>
...
<USERDEFINES value="_MBCS;U__midl"/>
<SYSDEFINES value="_MSC_VER=1100;_NO_VCL;NO_STRICT"/>
...<LINKER>
...
<ALLLIB value="$(LIBFILES) $(LIBRARIES) import32.lib cw32mt.lib"/>
Download:
Описание | Link #1 | Link #2 | Размер | Дата |
Простенький MediaPlayer с поддержкой DirectShow DMO Audio Effect (вместе с исходниками) | slyplayer.zip | slyplayer.zip | 319K | 04/12/2003 |
Все возможные библиотеки DirectX 8.1 для C++Builder 6, включая GUID (strmiids.lib) | bcb_dx_lib.zip | bcb_dx_lib.zip | 795K | 12/10/2004 |
Все файлы DirectX 9 SDK из каталога Include, подправленные для C++Builder 6 | bcb_dx_include.zip | bcb_dx_include.zip | 1.2M | 12/10/2004 |
Полезные DirectX / DirectShow исходники из каталога Common (и полученная из них библиотека DXCommon.lib) | bcb_dx_common.zip | bcb_dx_common.zip | 245K | 12/10/2004 |
DirectShow Base Classes из DirectX 9 SDK (исходники и библиотека StrmBase.lib) | bcb_dshow.zip | bcb_dshow.zip | 1.1M | 12/10/2004 |
Исходники DirectShow фильтра (EZRGB24.AX) из DirectX 8 SDK, переделанного под C++Builder 6 (необходимы DirectShow Base Classes). | bcb_ezrgb24.zip | bcb_ezrgb24.zip | 83K | 12/10/2004 |
Microsoft® DirectX® 8.1 SDK включает утилиту GraphEdit для создания и отладки фильтров DirectShow. Сначала нужно вставить фильр через меню "Graph | Insert Filter" из раздела "DirectShow Filters". Потом в меню "File | Render Media File" нужно выбрать любой видео/аудио файл. Вся структура фильтров очень удобно отображается и настраивается. |
graphedt.zip | graphedt.zip | 151K | 04/12/2003 |
Ссылки:
BCB-Tools.com - DirectX component libraries for BCB
См. также:
Самый быстрый 10-полосный эквалайзер (DirectShow DMO Audio Effect filter)
[Назад]