Android 릴리스 8.0.0용 네이티브 SDK

이 항목에서는 Android 버전 8.0.0용 Brightcove Native SDK에서 제공하는 새로운 기능에 대해 알아봅니다.

개요

Android용 Brightcove Native SDK는 다음과 같은 중요한 아키텍처 변경 및 재생 기능 향상을 제공하는 새로운 주 버전에서 사용할 수 있습니다.

  • 안드로이드 13 호환성
  • 오디오 전용 콘텐츠 지원
  • 알림 창 및 잠금 화면에서 사용자 지정 가능한 재생 제어 기능이 있는 미디어 스타일 알림
  • 연속 재생을 위한 진행 중인 포그라운드 서비스 지원
  • 보다 원활한 최종 사용자 경험을 위해 개선된 로딩 재생 목록 및 사전 버퍼링 미디어

오디오 전용 콘텐츠

Android용 Brightcove Native SDK는 오디오 전용 재생 및 풍부한 재생 컨트롤을 지원합니다. 오디오 재생은 호스트 응용 프로그램이 백그라운드에 있더라도 계속 재생되므로 최종 사용자는 청취 환경을 더 잘 제어할 수 있습니다. Brightcove의 모든 기능과 이전 버전과의 호환성을 보장하기 위해 오디오 재생 지원이 Android API용 현재 네이티브 SDK와 통합되었습니다.

구현 세부 정보는 네이티브 SDK가 있는 오디오 전용 문서를 참조하세요.

SDK 변경

이 Android용 Native SDK 릴리스에서는 백그라운드 재생, ExoPlayer 및 미디어 스타일 알림과의 지속적인 통합을 지원하기 위해 다음 클래스가 추가되었습니다.

  • MediaPlayback<Player>
  • BrightcoveNotification
  • MediaPlaybackService

미디어 재생< 플레이어>

Android용 네이티브 SDK 버전 8.0.0이 변경됨에 따라 브라이트코브는 재생 비즈니스 로직을 기존View버전과 분리했습니다Activity . 이 비즈니스 로직은 이제 새로운MediaPlayback클래스에 적용되어 미디어를Activity수명주기 이후에도 사용할 수 있게ForegroundService되었습니다. 재생 상태는 알림과 해당 보기에서 공유됩니다(앱이 포그라운드에 있을 때).

미디어 재생
미디어 재생

Brightcove는 ExoPlayer의 내부 재생 목록 지원 활용을 크게 개선했습니다. 이전에는 SDK에 로드된 각 미디어 항목에 대해 ExoPlayer의 새 인스턴스가 생성되었습니다.

이제 미디어 재생을 통해 ExoPlayer의MediaSource사전 버퍼링이 향상되었습니다. 이렇게 하면 성능이 향상되고Player.Listener ExoPlayer를 사용하여 중요한 재생 상태를 내보냅니다.

전경 및 배경 재생에 대한 지원은FOREGROUND_SERVICE귀하의 허가안드로이드매니페스트앱 빌드 프로세스 중에 파일. 이 권한은 SDK v8.0.0의 요구 사항입니다.

Brightcove알림

사용자는 작업 버튼을 사용하여 알림 및 잠금 화면에서 플레이어와 상호 작용할 수 있습니다. 기본적으로 알림에는 재생, 일시 중지, 다음 및 이전 작업 버튼이 포함됩니다.

알림 인스턴스를 검색하고 a를 설정하여 작업 버튼을 사용자 지정할 수 있습니다config .

BrightcoveExoPlayerVideoView player = findViewById(R.id.player_view);
PlaybackNotification.Config config = new PlaybackNotification.Config(this)
  .setUsePlayPauseActions(true)
  .setUseNextAction(false)
  .setUsePreviousAction(false)
  .setUseFastForwardAction(true)
  .setUseRewindAction(true);
player.getPlayback().getNotification().setConfig(config);

다음 표에는 작업 버튼의 기본값과 설명이 나와 있습니다.

방법 이름 기본값 설명
usePlayPauseActions True 재생 및 일시정지 동작 사용 여부 설정
useRewindAction True 되감기 동작 사용 여부 설정
useRewindActionInCompatView False useRewindAction true인 경우 축소 보기에서도 되감기 동작을 사용할지 여부를 설정합니다 (잠금 화면 알림 포함). Else는 아무 작업도 수행하지 않습니다.
useFastForwardAction True 빨리 감기 동작을 사용할지 여부를 설정합니다.
useFastForwardActionInCompactView False useFastForwardAction true인 경우 빠른 전달 동작을 컴팩트 뷰에서도 사용할지 여부를 설정합니다 (잠금 화면 알림 포함). Else는 아무 작업도 수행하지 않습니다.
usePreviousAction True 이전 작업 사용 여부
usePrevioiusActionInCompatMode False usePreviousAction true인 경우 이전 작업을 압축 보기에서도 사용할지 여부를 설정합니다 (잠금 화면 알림 포함). Else는 아무 작업도 수행하지 않습니다.
useNextAction True 다음 작업 사용 여부
useNextActionInCompactView False useNextAction true인 경우 다음 동작을 콤팩트 뷰에서도 사용할지 여부를 설정합니다 (잠금 화면 알림 포함). Else는 아무 작업도 수행하지 않습니다.
useStopAction False 정지 동작 사용 여부 설정

알림 메타데이터

기본적으로 알림은 자산의 메타데이터를 사용하며 활동을PendingIntent재생성하기 위한 묵시적 알림을 생성합니다. 알림에 표시된 메타데이터를 추가로 제어해야 하는 경우MediaDescriptionAdapter다음을 구현할 수 있습니다.

new PlaybackNotification.Config(this)
  .setAdapter(new PlaybackNotification.MediaDescriptionAdapter() {
    @Override
    public CharSequence getCurrentContentTitle(
            MediaPlayback playback
    ) {
        // TODO: return the current content title
    }

    @Override
    public Bitmap getCurrentLargeIcon(
            MediaPlayback playback,
            BitmapCallback callback
    ) {
        // TODO: return the bitmap for currently playing item
    }

    @Nullable
    @Override
    public PendingIntent createCurrentContentIntent(
            MediaPlayback<?> playback
    ) {
        // TODO: return your custom PendingIntent
    }

    @Nullable
    @Override
    public CharSequence getCurrentContentText(
            MediaPlayback<?> playback
    ) {
        // TODO: return the current content text
    }

    @Nullable
    @Override
    public CharSequence getCurrentSubText(
            MediaPlayback<?> playback
    ) {
        // TODO: return the current sub-text.
    }
  }
);

MediaPlaybackService

Android용 Native SDK는 미디어 재생용으로 설계된 알림을 지원합니다. 오디오 자산을 재생할 때 기본 플레이어 동작은 미디어 컨트롤을 사용하여 진행 중인 재생 알림과 함께 새 ForegroundService를 시작하는 것입니다. 미디어 컨트롤은 빠른 설정 패널 아래 및 잠금 화면에 표시됩니다.

미디어 컨트롤은 잠금 화면과 빠른 설정 패널 아래에 있습니다.

미디어 컨트롤
미디어 컨트롤

알림을 통해 사용자는 호스트 응용 프로그램이 백그라운드에 있을 때 재생을 보고 제어할 수 있습니다. Native SDK는 다음을 자동으로 처리합니다.

  • 앨범 아트워크 및 메타데이터 로드 중
  • 작업 버튼(재생/일시 중지, 다음, 이전, 빨리 감기, 되감기 및 중지)
  • 활동 수명 주기 이벤트

PlaybackNotification.Config클래스를 사용하여 알림 스타일 및 미디어 컨트롤을 사용자 지정할 수 있습니다.