DirectSound: normal buffers require a window

This commit is contained in:
Zack Buhman 2025-12-24 11:11:02 -06:00
parent ed6afbb9aa
commit 1a1fe84a60

View File

@ -259,7 +259,8 @@ HRESULT InitDirectSound(HWND hwnd)
DSBUFFERDESC desc = {}; DSBUFFERDESC desc = {};
desc.dwSize = (sizeof (DSBUFFERDESC)); desc.dwSize = (sizeof (DSBUFFERDESC));
desc.dwFlags = DSBCAPS_CTRLPAN | DSBCAPS_CTRLVOLUME | DSBCAPS_CTRLFREQUENCY; //desc.dwFlags = DSBCAPS_CTRLPAN | DSBCAPS_CTRLVOLUME | DSBCAPS_CTRLFREQUENCY;
desc.dwFlags = 0;
desc.dwBufferBytes = 4 * wfx.nAvgBytesPerSec; desc.dwBufferBytes = 4 * wfx.nAvgBytesPerSec;
desc.guid3DAlgorithm = DS3DALG_DEFAULT; desc.guid3DAlgorithm = DS3DALG_DEFAULT;
desc.lpwfxFormat = &wfx; desc.lpwfxFormat = &wfx;
@ -284,16 +285,17 @@ HRESULT InitDirectSound(HWND hwnd)
pDsb->Unlock(pBuffer, dwBufferSize, NULL, 0); pDsb->Unlock(pBuffer, dwBufferSize, NULL, 0);
printf("Play\n");
pDsb->Play(0, 0, DSBPLAY_LOOPING); pDsb->Play(0, 0, DSBPLAY_LOOPING);
while (1); return S_OK;
} }
int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow) int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine, int nCmdShow)
{ {
AttachConsole(ATTACH_PARENT_PROCESS); AttachConsole(ATTACH_PARENT_PROCESS);
if (1) { if (0) {
HRESULT hr; HRESULT hr;
hr = InitDirectInput(hInstance); hr = InitDirectInput(hInstance);
if (FAILED(hr)) { if (FAILED(hr)) {
@ -337,8 +339,8 @@ int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PWSTR pCmdLine
} }
if (0) { if (0) {
printf("direct sound\n");
InitDirectSound(hwnd); InitDirectSound(hwnd);
return 0;
} }
if (!SUCCEEDED(InitDirect3D(hwnd))) if (!SUCCEEDED(InitDirect3D(hwnd)))