Метод IDirectSoundBufferGetCurrentPosition имеет два аргумента:Имеет ли FMOD эквивалент аргумента pdwCurrentWriteCursor для Directirect SOUNDSoundBuffer :: GetCurrentPosition?
HRESULT GetCurrentPosition(LPDWORD pdwCurrentPlayCursor, LPDWORD pdwCurrentWriteCursor);
Первый аргумент «pdwCurrentPlayCursor» принимает курсор воспроизведения, а второй аргумент «pdwCurrentWriteCursor» получает курсор на запись, которая указывает на положение в звуковой буфер после который безопасно записывать данные - область, начинающаяся с курсора воспроизведения и заканчивающаяся курсором записи (возможно, завернутая вокруг конца буфера), может содержать данные, которые были переданы звуковому оборудованию, но еще не воспроизведены.
Ближайший эквивалентный метод обеспечивает FMOD, как представляется, getPosition метод FMOD :: Канал:
FMOD_RESULT F_API getPosition(unsigned int *position, FMOD_TIMEUNIT postype);
Этот метод имеет «позицию» аргумент для приема курсор воспроизведения, но не аргумент для приема написать курсор.
Предоставляет ли FMOD любую функцию с аргументом, который выполняет ту же задачу, что и аргумент pdwCurrentWriteCursor для IDirectSoundBuffer :: GetCurrentPosition? Или добавляет фиксированное смещение (документация DirectSound предполагает, что интервал между курсором воспроизведения и курсором записи составляет около 15 миллисекунд) для курсора воспроизведения - единственный способ получить безопасный курсор записи при использовании FMOD?