Delphi + DirectX
Рад приветствовать, All!
Если кому-то доводилось писать для подобной связки (сабж), не могли
бы вы поделится опытом настройки DirectSound, то ли у меня криво
"портирован" юнит (JEDI DX8), то ли очень кривы руки, но при инициализации
вторичного буфера - вылетает ошибка "One or more of the parameters
passed to the function are incorrect." независимо от того какие
параметры я передаю, даже просто DSBCAPS_STATIC. То же самое
происходит и при переносе примера с SDK. Кстати, вот сам код:
var
hret:HRESULT;
DSound : IDIRECTSOUND;
DSBuf : IDIRECTSOUNDBUFFER;//первичный буфер - с ним всё ок
DSB2: IDIRECTSOUNDBUFFER;//вторичный
DSBInfo : TDSBufferDesc;
...
fillchar(DSBInfo, sizeof(DSBInfo),0);
with DSBInfo do
begin
dwSize := sizeof(DSBInfo);
dwBufferBytes := 1000;{0}
dwFlags :=DSBCAPS_CTRLDEFAULT;
end;
hret:=DSound.CreateSoundBuffer(DSBInfo,DSB2,nil);//вот тут еррор!
Заранее спасибо!
Alles Gutes!
CU @ http://smuta.boom.ru
...In Code We trust...
При желании, mailto:deniskravtso***@m*****.ru
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru
Здравствуйте !
Я не совсем уверен, т.к. пишу в основном на VC++ 6.0.
но мне кажется, что надо передавать вторым параметром в функцию
указатель на указатеть, т.е. так :
hret:=DSound.CreateSoundBuffer(DSBInfo,@DSB2,nil);
кажется, @ в паскале - операция взятия адреса.
просто именно так прототип этой функции описан в MSDN.
Впрочем, это, кажется, обычный способ получения указателей
на интерфейсы.
С уважением, Виктор.
-*Информационный канал Subscribe.Ru
Написать в лист: mailto:comp.soft.prog.prog-list@subscribe.ru
Отписаться: http://subscribe.ru/member/unsub?grp=comp.soft.prog.prog&email=
http://subscribe.ru/ mailto:ask@subscribe.ru