Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Мультимедия, OpenGL/DirectX > DirectX 7 загрузка Wav


Автор: WinAx 13.3.2009, 03:01
Есть библиотека с ресурсами.

надо сделать вот это:

Код

BGS = m_pDS->CreateSoundBufferFromFile(file, bufferDesc, waveFormat)


но фромстрим или фромдлл. как? 

Автор: Alexeis 13.3.2009, 10:34
WinAx, очевидно что CreateSoundBufferFromFile не подойдет. 
Порядок работы таков

1) FindResource() - пролучаем дескриптор ресурса, 
2) затем загружаем ресурс
 LoadResource
3) затем вызываем LockResource которая вернет нам адрес буфера в памяти. Его то и нужно поместить в буфер проигрывания

По окончанию выгружаем его функцией FreeResource(); но в справке пишется что это необязательно, видимо из-за того что функция LoadResource не производит загрузку непосредственно в память, а делает отображение ресурса на память, т.е. оставляет все на операционную систему.


Автор: WinAx 14.3.2009, 18:16
Спасибо за ответ.

А как мне прикрутить этот массив к буферу?
Где взять указатель на начало вав в памяти?

Автор: Alexeis 14.3.2009, 22:20
Цитата(WinAx @  14.3.2009,  17:16 Найти цитируемый пост)
Где взять указатель на начало вав в памяти? 

  Его возвращает функция LoadResource, кстати в MSDN с справке по этим функциям есть пример использования. Можно прям оттуда передирать.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)