Как автоматически обновлять метаданные уведомлений в exoplayer? ⇐ Android
-
Anonymous
Как автоматически обновлять метаданные уведомлений в exoplayer?
Я пытаюсь обновить метаданные, поступающие из уведомлений медиаплеера (с помощью exoplayer). Это вызывает проблему, из-за которой список воспроизведения песен не синхронизируется с метаданными в уведомлении, а метаданные в уведомлениях не изменяются сразу после внесения изменений.
Я создал приложение для mp3-плеера, но при обновлении сведений о треке изменения не отражаются в уведомлениях, если только песня не останавливается и не возобновляется.
например, вызов onPrepare (когда песня останавливается и воспроизводится снова) заставляет все работать как обычно
... переопределить удовольствие onPrepareFromMediaId( mediaId: Строка, playWhenReady: логическое значение, дополнительные услуги: Комплект? ) { exoplayer.setMediaSource(audioPlaybackRepository.getMediaSources()) onPlaybackPrepare(audioPlaybackRepository.getMediaMetadata(mediaId)) exoplayer.prepare() exoplayer.play() } Источники мультимедиа обновляются в «playlistedMediaMetadataList» и передаются в объединяющий источник мультимедиа. опять же, если вызывается onPrepare, ошибка прекращается
переопределить fun getMediaSources(): ConcatenatingMediaSource { объединениеMediaSource.clear() playlistedMediaMetadataList.value?.forEach { метаданные -> val allTracksMediaSource = ProgressiveMediaSource.Factory(defaultDataSourceFactory) .createMediaSource( MediaItem.fromUri( метаданные.getString(MediaMetadataCompat.METADATA_KEY_MEDIA_URI) .toUri() ) ) объединениеMediaSource.addMediaSource(allTracksMediaSource) } вернуть объединение MediaSource } } Я испортил методы onPrepare, чтобы поместить их в другое место, но это привело к сбою.
Я пытаюсь обновить метаданные, поступающие из уведомлений медиаплеера (с помощью exoplayer). Это вызывает проблему, из-за которой список воспроизведения песен не синхронизируется с метаданными в уведомлении, а метаданные в уведомлениях не изменяются сразу после внесения изменений.
Я создал приложение для mp3-плеера, но при обновлении сведений о треке изменения не отражаются в уведомлениях, если только песня не останавливается и не возобновляется.
например, вызов onPrepare (когда песня останавливается и воспроизводится снова) заставляет все работать как обычно
... переопределить удовольствие onPrepareFromMediaId( mediaId: Строка, playWhenReady: логическое значение, дополнительные услуги: Комплект? ) { exoplayer.setMediaSource(audioPlaybackRepository.getMediaSources()) onPlaybackPrepare(audioPlaybackRepository.getMediaMetadata(mediaId)) exoplayer.prepare() exoplayer.play() } Источники мультимедиа обновляются в «playlistedMediaMetadataList» и передаются в объединяющий источник мультимедиа. опять же, если вызывается onPrepare, ошибка прекращается
переопределить fun getMediaSources(): ConcatenatingMediaSource { объединениеMediaSource.clear() playlistedMediaMetadataList.value?.forEach { метаданные -> val allTracksMediaSource = ProgressiveMediaSource.Factory(defaultDataSourceFactory) .createMediaSource( MediaItem.fromUri( метаданные.getString(MediaMetadataCompat.METADATA_KEY_MEDIA_URI) .toUri() ) ) объединениеMediaSource.addMediaSource(allTracksMediaSource) } вернуть объединение MediaSource } } Я испортил методы onPrepare, чтобы поместить их в другое место, но это привело к сбою.
Мобильная версия