Стоит потратить время на ознакомление с руководством по программированию openAL, которое входит в комплект SDK. У него есть всякие вкусности!
Из этого:
Под источником: каждый источник, созданный alGenSources, имеет свойства, которые можно установить или получить.
Семейства функций alSource [f, 3f, fv, i] и alGetSource [f, 3f, fv, i] можно использовать для установки или получения следующих свойств источника:
...
AL_SEC_OFFSET f, fv, i, iv the playback position, expressed in seconds
AL_SAMPLE_OFFSET f, fv, i, iv the playback position, expressed in samples
AL_BYTE_OFFSET f, fv, i, iv the playback position, expressed in bytes
Таким образом, вы можете получить позицию воспроизведения в секундах и поделить на 60, чтобы получить нормализованное время.
float pos = 0; alGetSourcef( sourceID, AL_SEC_OFFSET, &pos );
float normalizedPos = pos / 60.0f;
OpenAL определенно имеет возможности для воспроизведения паузы звука, как вам нравится. помните, что OpenAL часто используется в играх, поскольку обеспечивает воспроизведение звука с низкой задержкой и воспроизведением по требованию. У вас есть большой контроль над звуком. по сравнению с классом AVAudioPlayer.
Надеюсь это поможет
Ответить
Рк