hi,
der titel sagt es schon. ich hab probleme mit dem abspielen von einem soundbuffer. wenn ich die methode IDirectSoundBuffer:
lay mit dem flag DSBCAPS_LOOPING abspiele ist der sound laut und deutlich zu hören und er loopt auch.
wenn ich allerdings 0 übergebe. dann hört man nur nach kurzer zeit ein knacksen und das wars dann...
hier mal der code:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
// Play
EResult SoundBuffer::Play(BOOL bLoop)// = FALSE
{
HRESULT r;
DWORD dwFlags = 0;
_bLoop = bLoop;
_bPlaying = TRUE;
if(bLoop)dwFlags |= DSBPLAY_LOOPING;
r = _pSoundBuffer->Play(0, 0, dwFlags);
if(r == DSERR_BUFFERLOST)
{
// Neuen Puffer Ordern und auf ein Neues
_pSoundBuffer->Restore();
r = _pSoundBuffer->Play(0, 0, dwFlags);
}
if(FAILED(r))
{
CE_LOG_MESSAGE(CE_DXERRDESC(r), CE_LOG_ERROR);
return CE_FAIL;
}
return CE_OK;
}// Play
|
wenn ich dieser funktion TRUE übergeben klappts. wenn ich FALSE übergebe gehts nicht...
hab mit dem debugger bislang keinen anhaltspunkt gefunden... die funktion gibt auch keinerlei fehler zurück....
bin ein wenig ratlos.