Внутренний интерфейс, для получения событий из плеера. События вызываются сразу в момент их срабатывания, и выполняются на native потоке плеера. Чтобы перейти в java поток, нужно сделать синхронизацию. Крайне не желательно выполнять долгие функции внутри событий, т.к. это блокирует очередь обработки остальных функций плеера. (По аналогии с интерфейсом - все тяжелые операции нужно выносить из событий делегата в другой поток, чтобы не блокировать выполнение на длительный срок.)
- ended - поток был полностью проигран и проигрывание завершилось без ошибок. Актуально для потоков с конечной длительностью (подкасты)
- error - проигрывание было остановлено с ошибкой. Сообщение с описание ошибки содержится в параметре message
- streamUrlChanged - поток в плеере были изменён
- isRestartedChanged - настройка isRestarted изменена
- isHlsChanged - изменился тип потока. isHls содержит новое значение, true - hls поток, false - обычный icecast/подкаст поток.
- isSeekableChanged - изменилась возможность перемотки потока
- stateChanged - изменилось состояние плеера
- isPlayingChanged, isStalledChanged, isPausedChanged, isStoppedChanged - отдельные callback для каждого состояния плеера. isPlaying - учитывает не только PLAYING_STATE, но и STALLED_STATE т.к. в этих состояниях плеер пытается играть или играет звук
- lengthChanged - изменилась длительность потока. -1 - поток не имеет конечной длительности.
- bufferedLengthChanged - изменилась длительность буферизации. Полезно для отображения прогресса буферизации в интерфейсе.
- startPositionChanged - изменилось значение startPosition в плеере.
- positionChanged - изменилась текущая позиция проигрывания потока.
- playbackRateChanged - изменилась скорость воспроизведения.
- metaChanged - изменились метаданные считанные из потока. В том числе встроенные метаданные HLS потока.
- volumeChanged - изменилась громкость проигрывания.
- duckVolumeChanged - изменилось значение duck volume для приглушения уровня громоксти (актуально для android)
- playingBitratesChanged - изменился список битретов которые используются для проигрывания
- availableBitratesChanged - изменился список битрейтов доступных к проигрыванию
- currentBitrateChanged - изменился текущий битрейт, которое задано для проигрывания
- currentQualityChanged - изменилось текущее качество, которое задано для проигрывания
- playingBitrateChanged - изменился текущий битрейт, которое фактически играет плеер
- playingQualityChanged - изменилось текущее качество, которое фактически играет плеер
- daastUrlChanged - изменилась ссылка на daast xml
- daastStarted - началось проигрывание daast рекламы. meta - строка метаданных, imageUrl - ссылка на изображение баннера для отображения, clickUrl - ссылка для открытия при клике на баннер
- daastError - ошибка обработки daast
- daastSkipped - daast пропущен по команде сервера
- daastEnded - daast проигрывание завершилось