개요
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
클래스를 사용하여 알림 스타일 및 미디어 컨트롤을 사용자 지정할 수 있습니다.