_fpeti_ 2017.10.30. 20:54

DirectSound

Gondoltam csinálok egy pici framework-öt, ami minden installálás nélkül fut kb. bárhol. Hangnak DirectSound-ot gondoltam, elég régi cucc, de még megy, nem kell neki semmi extra dll-t installálni. Annyi gond volt vele, hogy nem  találtam más tutorialt, mint a Rastertek-eset. Ebben, ha betöltöttünk egy wav-ot, így kell létrehozni, hozzá a buffert,amit a DS le tud játszani:

result = m_DirectSound->CreateSoundBuffer(&bufferDesc, &tempBuffer, NULL);
if(FAILED(result))
 return false; 
 
result = tempBuffer->QueryInterface(IID_IDirectSoundBuffer8, (void**)&*secondaryBuffer);
if(FAILED(result))
return false;

Szóval kell egy temp buffer valamér, utána kell megcsinálni a 'secondaryBuffer'-t, ami lejátszható.
Nekem a QueryInterface() E_INVALIDARG-ot ad vissza. Poénból megpróbáltam a tempBuffer-t
lock-olni, betölteni abba a hangot.. és le lehet játszani. Úgyhogy a bohóckodás nem kell a QueryInterface()-el.

 

Szólj hozzá!

A bejegyzés trackback címe:

https://sortagamedev.blog.hu/api/trackback/id/tr5613118532

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Nincsenek hozzászólások.