Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Lemming

Alter Hase

  • »Lemming« ist der Autor dieses Themas

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

1

05.05.2006, 20:35

IDirectSoundBuffer::Play() nur bei loop was zu hören

hi,
der titel sagt es schon. ich hab probleme mit dem abspielen von einem soundbuffer. wenn ich die methode IDirectSoundBuffer::Play 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. :(
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...

Lemming

Alter Hase

  • »Lemming« ist der Autor dieses Themas

Beiträge: 550

Beruf: Schüler

  • Private Nachricht senden

2

06.05.2006, 13:05

so habs jetzt mal so gemacht, dass der sound erst ne halbe sekunde später abgespielt wird. und jetzt gehts.

kann mir einer erklären warum??? ist ein soundbuffer denn nach dem erstellen nicht sofort verfügbar???
Es gibt Probleme, die kann man nicht lösen.
Für alles andere gibt es C++...