Как вы извлекали метаданные тегов ID3 ​​с помощью exoplayer? не могли бы вы поделиться своим кодом

Кто-нибудь может сказать мне, как я могу извлечь мета из тегов ID3 ​​потока HLS.

1
0
1 173
1

Ответы 1

Попробуйте следующий код. https://medium.com/google-exoplayer/exoplayer-2-1-whats-new-2832c09fedab

@Override
public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {
  for (int i = 0; i < trackGroups.length; i++) {
    TrackGroup trackGroup = trackGroups.get(i);
    for (int j = 0; j < trackGroup.length; j++) {
      Metadata trackMetadata = trackGroup.getFormat(j).metadata;
      if (trackMetadata != null) {
        // We found metadata. Do something with it here!
      }
    }
  }

ОБНОВИТЬ: Если вы хотите получать и обрабатывать метаданные ID3, добавьте в плеер EventListener через ExoPlayer.addListener.

    EXOPlayer.addListener(new Player.EventListener() {
        @Override
        public void onTimelineChanged(Timeline timeline, @Nullable Object manifest, int reason) {

        }

        @Override
        public void onTracksChanged(TrackGroupArray trackGroups, TrackSelectionArray trackSelections) {
            for (int i = 0; i < trackGroups.length; i++) {
                TrackGroup trackGroup = trackGroups.get(i);
                for (int j = 0; j < trackGroup.length; j++) {
                    Metadata trackMetadata = trackGroup.getFormat(j).metadata;
                    if (trackMetadata != null) {
                        // We found metadata. Do something with it here!
                    }
                }
            }
        }

        @Override
        public void onLoadingChanged(boolean isLoading) {

        }

        @Override
        public void onPlayerStateChanged(boolean playWhenReady, int playbackState) {

        }

        @Override
        public void onRepeatModeChanged(int repeatMode) {

        }

        @Override
        public void onShuffleModeEnabledChanged(boolean shuffleModeEnabled) {

        }

        @Override
        public void onPlayerError(ExoPlaybackException error) {

        }

        @Override
        public void onPositionDiscontinuity(int reason) {

        }

        @Override
        public void onPlaybackParametersChanged(PlaybackParameters playbackParameters) {

        }

        @Override
        public void onSeekProcessed() {

        }
    });

Не удалось переопределить метод onTracksChanged в моем коде. он показывает, что «метод не может переопределить методы суперкласса».

user4046197 11.12.2018 05:37

Пользователь: stackoverflow.com/users/1236581/fergdev сообщил, что решил эту проблему с помощью exoplayer. Но не смог написать комментарий, так как у меня нет репутации. Если бы он мог помочь, это очень помогло бы мне.

user4046197 11.12.2018 05:46

Другие вопросы по теме