tags:

views:

11

answers:

0

Hi,

at work, we're unable to use alSourcePause() to pause sounds, and in any case we might want to start the sound with an offset.

We're performing a "resume" by doing alSourcei(this->sourceId, AL_SAMPLE_OFFSET, this->sampleOffset); with a sample offset that we retrieved with alGetSourcei(). We tried using AL_SEC_OFFSET, AL_BYTE_OFFSET and AL_SAMPLE_OFFSET -- to no avail. We have read that the sound source needs to be in the "initial" state; recreating the source and attaching the buffer, then attempting to skip also did not help.

Changing the buffer to skip AL_BYTE_OFFSET is not a solution, since it complicates looping.

Streaming sounds are skipping on slower machines; we're having trouble implementing multithreaded playing.

Since we're on a tight schedule, what is the best way to skip a portion of a simple sound source on OpenAL on OS X?

Source code is available at our Sourceforge repository.