Great and easy engine. I love irrKlang.
However, I get puzzled, ISound::isFinished miss problem. irrKlang 0.5/0.6, msvc2005/2005sp1
PROBLEM:
When a non-loop sound finished playback, the ISound::isFinished always return false. Instead, its getPlayPosition() return 0 and getIsPaused() return true. Does it a bug or I missing something?
How could I determine whether it finished while track ISound interface in offcial way ?
Thanks very much.
This is a part of my code:
ISoundEngine* engine = createIrrKlangDevice();
ISound* sound = engine->play2D("../../media/bell.wav", false, false, true); //no-loop, no-paused, enable tracking
while(!sound->isFinished()) {
// do something blocked here
}
ISound::isFinished miss problem
isFinished problem (continued)
Hi,
I also have the problem but less frequently: isFinished will first return correctly twice or thrice and then will miss.
When switching to ESOD_WIN_MM driver, I have not reproduced the problem.
Hope that helps.
Red.
[EDIT after a-sennov research] In my own situation, there is only one sound replayed each time it is finished. This is not reproduced with ESOD_WIN_MM driver.
I also have the problem but less frequently: isFinished will first return correctly twice or thrice and then will miss.
When switching to ESOD_WIN_MM driver, I have not reproduced the problem.
Hope that helps.
Red.
[EDIT after a-sennov research] In my own situation, there is only one sound replayed each time it is finished. This is not reproduced with ESOD_WIN_MM driver.
Last edited by Red Ghost on Tue Apr 10, 2007 10:58 am, edited 1 time in total.
Hi,
[Edit]
After some investigation it seems that if there are several concurrently playing sounds then only the one that was started last reports isFinished properly, others become "hanged".
[Edit 2]
The above is valid for ESOD_DIRECT_SOUND. ESOD_WIN_MM seems to work correctly.
Maybe this will help,
Anatoly.
[Edit]
After some investigation it seems that if there are several concurrently playing sounds then only the one that was started last reports isFinished properly, others become "hanged".
[Edit 2]
The above is valid for ESOD_DIRECT_SOUND. ESOD_WIN_MM seems to work correctly.
Maybe this will help,
Anatoly.