Внутренний интерфейс, для получения событий из плеера. События вызываются сразу в момент их срабатывания, и выполняются на 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 проигрывание завершилось