ПрограммированиеФорумЗвук

Проблема с GetPlayState в OpenSLES

#0
18:24, 27 апр 2022
set play state | Проблема с GetPlayState в OpenSLES

В конце в комментарии к функции написано, что когда плеер достигает конца, то state устанавливается в pause. Такого не происходит.
Есть такие состояния.

/** Playback states */
#define SL_PLAYSTATE_STOPPED    ((SLuint32) 0x00000001)
#define SL_PLAYSTATE_PAUSED     ((SLuint32) 0x00000002)
#define SL_PLAYSTATE_PLAYING    ((SLuint32) 0x00000003)

И после завершения проигрывания он всё равно в SL_PLAYSTATE_PLAYING. Хотя в linux OpenAL тоже имеет функцию получить состояние источника (плеера), и всё нормально работает.
Может кто работал с этим, что может быть?

#1
19:32, 27 апр 2022

Всё, решил проблему, надо было зарегистрировать callback, но почему get state не работает, не понятно.

        (*playerItf)->SetCallbackEventsMask (playerItf, SL_PLAYEVENT_HEADATEND);
        (*playerItf)->RegisterCallback (playerItf, callback_player, this);
ПрограммированиеФорумЗвук

Тема в архиве.