miliseconds & waveOutGetPosition()
1 отговора
37 прегледа
miliseconds & waveOutGetPosition()
Използвам функцията waveOutGetPosition за да извлека позицията, до която е достигнато при просвирване на wav-файл. Проблемът е единствено с милисекундите, отчетите се получават правилно. Ето едно парче от кода:
MMTIME mmTime;
mmTime.wType = TIME_MS;
MMRESULT mmRes = ::waveOutGetPosition(hWaveOut, &mmTime, sizeof(mmTime));
if (mmRes != MMSYSERR_NOERROR)
{
//Обработка на грешки, дълго е и съм го махнал оттук.
}
Когато всичко е уж ОК, стойността на mmTime.u.ms е неправдоподобно голяма. Например приблизително на десетата секунда ми дава 1761312. А не искам да ползвам таймер и да изчислявам времето ръчно.
MMTIME mmTime;
mmTime.wType = TIME_MS;
MMRESULT mmRes = ::waveOutGetPosition(hWaveOut, &mmTime, sizeof(mmTime));
if (mmRes != MMSYSERR_NOERROR)
{
//Обработка на грешки, дълго е и съм го махнал оттук.
}
Когато всичко е уж ОК, стойността на mmTime.u.ms е неправдоподобно голяма. Например приблизително на десетата секунда ми дава 1761312. А не искам да ползвам таймер и да изчислявам времето ръчно.
Re: miliseconds & waveOutGetPosition()
After calling this function, check wType to determine whether the time format is supported. If the format is not supported, wType will specify an alternative format.
това правиш ли го? защото не го видях в кода...
това правиш ли го? защото не го видях в кода...