미디어 세션에 AOD에 "제목 없음"이 있음 (항상 표시됨)

YunhaoLIU

내 앱에서 나는 음악 재생을 담당하는 포 그라운드 서비스와 함께 알림을 표시했습니다. 알림은com.google.android.exoplayer2.ui.PlayerNotificationManager android.support.v4.media.session.MediaSessionCompat com.google.android.exoplayer2.ext.mediasession.MediaSessionConnector

    mediaSession = MediaSessionCompat(this, "Player", null, null)
    mediaSession.isActive = true
    mediaSessionConnector = MediaSessionConnector(mediaSession)
    mediaSessionConnector.setPlayer(exoPlayer)
    playerNotificationManager = PlayerNotificationManager.createWithNotificationChannel(
            this,
            "notification_channel_player",
            R.string.notification_channel_name_player,
            0,
            PLAYER_NOTIFICATION_ID,
            object : PlayerNotificationManager.MediaDescriptionAdapter {
                override fun createCurrentContentIntent(player: Player?): PendingIntent? {
                    // intent
                }

                override fun getCurrentLargeIcon(player: Player?, callback: PlayerNotificationManager.BitmapCallback?): Bitmap? {
                    // large icon
                }

                override fun getCurrentContentText(player: Player?): String? {
                    // artist
                }

                override fun getCurrentContentTitle(player: Player?): String {
                    // title
                }

            },
            object : NotificationListener {
                override fun onNotificationPosted(notificationId: Int, notification: Notification?, ongoing: Boolean) {
                    startForeground(notificationId, notification)
                }
            })

    playerNotificationManager.setSmallIcon(R.drawable.ic_notification)
    // has previous and next
    playerNotificationManager.setUseNavigationActions(true)
    playerNotificationManager.setUseNavigationActionsInCompactView(true)
    // no fast-forward and rewind
    playerNotificationManager.setFastForwardIncrementMs(0)
    playerNotificationManager.setRewindIncrementMs(0)
    // no stop
    playerNotificationManager.setUseStopAction(false)

    playerNotificationManager.setMediaSessionToken(mediaSession.sessionToken)
    playerNotificationManager.setPlayer(exoPlayer)

화면이 켜져 있으면 콘텐츠 제목과 텍스트를 표시하는 데 문제가 없습니다. 하지만 화면을 잠그고 AOD 모드에서 Pixel 3에 "제목 없음"이 표시됩니다. 하지만 Apple Music을 사용하면 제목과 아티스트가 잘 표시됩니다.

내 앱 : 여기에 이미지 설명 입력

Apple 음악 : 여기에 이미지 설명 입력

내 질문은 현재 구현을 기반으로이 제목과 텍스트를 어떻게 구성 할 수 있습니까? 감사.

YunhaoLIU

나는 문제를 발견하고 해결했기 때문에 내 질문에 대답합니다.

알림의 미디어 설명 어댑터 만 설정했지만 실제로 미디어 세션에서도 메타 데이터를 설정해야합니다. 우리가 사용하고 있기 때문에 mediaSessionConnector, 그것은 전달하여 설정을 할 수 있습니다 QueueNavigator받는 사람을 mediaSessionConnector우리가 현재 미디어의 메타 데이터를 구축하기 위해 플레이어 인스턴스 및 창 인덱스를 사용할 수 있습니다. 전의:

    val timelineQueueNavigator = object : TimelineQueueNavigator(mediaSession) {
        override fun getMediaDescription(player: Player?, windowIndex: Int): MediaDescriptionCompat {
            player?.let { safePlayer ->
                return MediaDescriptionCompat.Builder().apply {
                    setTitle("......")
                    setSubtitle("......")
                }.build()
            }
            return MediaDescriptionCompat.Builder().build()
        }
    }
    mediaSessionConnector.setQueueNavigator(timelineQueueNavigator)

또 다른 점은 기본적으로이다 mediaSessionConnector사용 MediaSessionConnector.DefaultMediaMetadataProvider. METADATA_KEY_ARTISTAOD 모드에서 아티스트로 사용할 설정은 없습니다 . 그래서 내 자신의 MediaMetadataProvider를 만들어 METADATA_KEY_ARTIST.

if (description.subtitle != null) {
    val subTitle = description.subtitle.toString()
    builder.putString(MediaMetadataCompat.METADATA_KEY_ARTIST, subTitle)
    builder.putString(MediaMetadataCompat.METADATA_KEY_DISPLAY_SUBTITLE, subTitle)
}

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Sublime Text가 제목 표시 줄에 "제목 없음 (데스크톱)"으로 표시되는 이유는 무엇입니까?

분류에서Dev

Sublime Text의 명령 줄에서 새 탭 (일명 "제목 없음")을 만드는 방법이 있습니까?

분류에서Dev

Pandas boxplot (groupby)에 대한 제목 없음 설정

분류에서Dev

LO65830에 대한 해결 방법 찾기 : 그룹 달력 탭이 생성 될 때 <제목 없음> 임

분류에서Dev

Avalon Dock 및 Caliburn Micro-문서 창에 제목 없음 (탭 헤더)

분류에서Dev

Python에서 Gmail 계정으로 전송되는 'test.txt'파일이 이메일받은 편지함에서 수신 될 때 "제목 없음"으로 표시되는 원인은 무엇입니까?

분류에서Dev

OpenOffice 실행기 아이콘 이름은 "제목 없음 1-OpenOffice Writer"입니다.

분류에서Dev

PDF의 속성 / 메타 데이터를 수정하는 도구? 즉, "제목", "저자"를 변경 하시겠습니까? 일부 책을 "제목 없음"으로 표시하는 Sony Reader

분류에서Dev

빈 항목이 있어도 NSOutlineView에 항상 공개 삼각형 표시

분류에서Dev

네임 서버는 항상 nginx의 URL 표시 줄에서 맨 위에 있습니다 (리디렉션 없음).

분류에서Dev

Xamarin iOS에서 미디어 라이브러리 권한 대화 상자를 표시하지 않음

분류에서Dev

터미널 새 창에 항상 -bash가 표시됨 : 검색 중 : 명령을 찾을 수 없음

분류에서Dev

Django-heroku 서버에 이미지 (미디어)가 표시되지 않음

분류에서Dev

워드 프레스 미디어에 이미지가 표시되지 않음

분류에서Dev

제목 없음 Javascript JSON 배열-> CSV 내보내기

분류에서Dev

미디어 위키에서 500 개 이상의 최근 변경 사항을 어떻게 볼 수 있습니까?

분류에서Dev

폴리머 요소가 올바르게 작동하지 않음, 종이 버튼이 항상 위에 있음, 종이 그림자가 애니메이션 중에 만 표시됨

분류에서Dev

메뉴 항목이 항상 상단 표시 줄에 있는지 어떻게 확인합니까?

분류에서Dev

AD GUI에 PowerShell이 비어있는 속성이 표시됨

분류에서Dev

로드시 페이지 상단에 시차 이미지가 표시됨

분류에서Dev

reactJS의 상세 페이지에 관련 항목을 어떻게 표시 할 수 있습니까?

분류에서Dev

Android : 작업 버튼 아이콘이 항상 오버레이에 표시됨

분류에서Dev

Matplotlib.pylot에 '요구 사항이 이미 충족 됨'이 표시되지만 '모듈을 찾을 수 없음'도 표시됩니다.

분류에서Dev

한 세션에 둘 이상의 제어 터미널이 있습니까?

분류에서Dev

Android Q 저장 미디어 파일이 Gallary에 표시되지 않음

분류에서Dev

wp 첨부 파일 페이지에 미디어가 표시되지 않음

분류에서Dev

항목이있는 ext js 패널에서 f12 버튼을 누를 때만 표시되거나 f12 창을 닫을 때 이미 디버그 세션에있는 경우 패널이 표시됩니다.

분류에서Dev

Apple로 로그인 버튼 제목에 항상 "SIGN_IN_WITH_APPLE"이 표시됨

분류에서Dev

extbase 작업에 항상 잘못된 유동 템플릿이 표시됨

Related 관련 기사

  1. 1

    Sublime Text가 제목 표시 줄에 "제목 없음 (데스크톱)"으로 표시되는 이유는 무엇입니까?

  2. 2

    Sublime Text의 명령 줄에서 새 탭 (일명 "제목 없음")을 만드는 방법이 있습니까?

  3. 3

    Pandas boxplot (groupby)에 대한 제목 없음 설정

  4. 4

    LO65830에 대한 해결 방법 찾기 : 그룹 달력 탭이 생성 될 때 <제목 없음> 임

  5. 5

    Avalon Dock 및 Caliburn Micro-문서 창에 제목 없음 (탭 헤더)

  6. 6

    Python에서 Gmail 계정으로 전송되는 'test.txt'파일이 이메일받은 편지함에서 수신 될 때 "제목 없음"으로 표시되는 원인은 무엇입니까?

  7. 7

    OpenOffice 실행기 아이콘 이름은 "제목 없음 1-OpenOffice Writer"입니다.

  8. 8

    PDF의 속성 / 메타 데이터를 수정하는 도구? 즉, "제목", "저자"를 변경 하시겠습니까? 일부 책을 "제목 없음"으로 표시하는 Sony Reader

  9. 9

    빈 항목이 있어도 NSOutlineView에 항상 공개 삼각형 표시

  10. 10

    네임 서버는 항상 nginx의 URL 표시 줄에서 맨 위에 있습니다 (리디렉션 없음).

  11. 11

    Xamarin iOS에서 미디어 라이브러리 권한 대화 상자를 표시하지 않음

  12. 12

    터미널 새 창에 항상 -bash가 표시됨 : 검색 중 : 명령을 찾을 수 없음

  13. 13

    Django-heroku 서버에 이미지 (미디어)가 표시되지 않음

  14. 14

    워드 프레스 미디어에 이미지가 표시되지 않음

  15. 15

    제목 없음 Javascript JSON 배열-> CSV 내보내기

  16. 16

    미디어 위키에서 500 개 이상의 최근 변경 사항을 어떻게 볼 수 있습니까?

  17. 17

    폴리머 요소가 올바르게 작동하지 않음, 종이 버튼이 항상 위에 있음, 종이 그림자가 애니메이션 중에 만 표시됨

  18. 18

    메뉴 항목이 항상 상단 표시 줄에 있는지 어떻게 확인합니까?

  19. 19

    AD GUI에 PowerShell이 비어있는 속성이 표시됨

  20. 20

    로드시 페이지 상단에 시차 이미지가 표시됨

  21. 21

    reactJS의 상세 페이지에 관련 항목을 어떻게 표시 할 수 있습니까?

  22. 22

    Android : 작업 버튼 아이콘이 항상 오버레이에 표시됨

  23. 23

    Matplotlib.pylot에 '요구 사항이 이미 충족 됨'이 표시되지만 '모듈을 찾을 수 없음'도 표시됩니다.

  24. 24

    한 세션에 둘 이상의 제어 터미널이 있습니까?

  25. 25

    Android Q 저장 미디어 파일이 Gallary에 표시되지 않음

  26. 26

    wp 첨부 파일 페이지에 미디어가 표시되지 않음

  27. 27

    항목이있는 ext js 패널에서 f12 버튼을 누를 때만 표시되거나 f12 창을 닫을 때 이미 디버그 세션에있는 경우 패널이 표시됩니다.

  28. 28

    Apple로 로그인 버튼 제목에 항상 "SIGN_IN_WITH_APPLE"이 표시됨

  29. 29

    extbase 작업에 항상 잘못된 유동 템플릿이 표시됨

뜨겁다태그

보관