개요
Video Cloud 고객은 Video Cloud Studio에서 미디어 데이터와 메타데이터에 액세스할 수 있습니다. 브라이트코브 플레이어 고객은 미디어 콘텐츠에 대한 URL을 제공합니다.
비디오 클라우드 고객
Video Cloud 고객은 Video Cloud Studio에 저장된 미디어 데이터에 액세스할 수 있습니다. 자세한 내용은 Android 코드 샘플 용 플레이어 SDK .
미디어 데이터 검색
재생 API를 사용하여 Video Cloud 라이브러리에서 비디오 및 재생목록 데이터를 검색할 수 있습니다. API에 대한 자세한 내용은재생 API 개요문서를 참조하십시오.
-
사용 com.brightcove.player.edge.Catalog Brightcove의 Playback API에서 비디오 및 재생 목록을 검색하는 클래스 메서드. 귀하의 요청은 비디오를 제공 할 수 있습니다/재생 목록
ID
또는ReferenceID
. 이 서비스는 URL 요청을하고 반환 된 데이터를 구문 분석합니다. -
이 요청에는 정책 키가 필요합니다. 정책 키에 익숙하지 않은 경우정책 API 개요문서를 참조하십시오.
다음은 다음을 사용하여 비디오를 검색하는 방법의 예입니다.
com.brightcove.player.edge.Catalog
수업:package com.brightcove.player.samples.exoplayer.basic; import android.os.Bundle; import android.util.Log; import com.brightcove.player.edge.Catalog; import com.brightcove.player.edge.VideoListener; import com.brightcove.player.event.EventEmitter; import com.brightcove.player.model.Video; import com.brightcove.player.view.BrightcoveExoPlayerVideoView; import com.brightcove.player.view.BrightcovePlayer; /** * This app illustrates how to use the ExoPlayer with the Brightcove * Native Player SDK for Android. */ public class MainActivity extends BrightcovePlayer { private final String TAG = this.getClass().getSimpleName(); @Override protected void onCreate(Bundle savedInstanceState) { setContentView(R.layout.activity_main); brightcoveVideoView = (BrightcoveExoPlayerVideoView) findViewById(R.id.brightcove_video_view); super.onCreate(savedInstanceState); // Get the event emitter from the SDK and create a catalog request to fetch a video from the // Brightcove Edge service, given a video id, an account id and a policy key. EventEmitter eventEmitter = brightcoveVideoView.getEventEmitter(); Catalog catalog = new Catalog(eventEmitter, getString(R.string.account), getString(R.string.policy)); catalog.findVideoByID(getString(R.string.videoId), new VideoListener() { // Add the video found to the queue with add(). // Start playback of the video with start(). @Override public void onVideo(Video video) { Log.v(TAG, "onVideo: video = " + video); brightcoveVideoView.add(video); brightcoveVideoView.start(); } }); } }
- 그만큼비디오 개체아래와 같이 미디어 정보를 검색하는 방법을 제공합니다.
catalog.findVideoByID(getString(R.string.videoId), new VideoListener() { // Add the video found to the queue with add(). // Start playback of the video with start(). @ Override public void onVideo(Video video) { Log.v(TAG, "onVideo: video = " + video); Log.v(TAG, "onVideo: videoID = " + video.getId()); Log.v(TAG, "onVideo: videoName = " + video.getName()); Log.v(TAG, "onVideo: videoDescription = " + video.getDescription()); Log.v(TAG, "onVideo: videoImage = " + video.getStillImageUri()); Log.v(TAG, "onVideo: sourceCollections = " + video.getSourceCollections()); SourceCollection dashCollection = video.getSourceCollections().get(DeliveryType.DASH); if (dashCollection != null) { Set < Source > sources = dashCollection.getSources(); for (Source source: sources) { if (!TextUtils.isEmpty(source.getUrl())) { Log.v(TAG, "onVideo: DASH source = " + source.getUrl()); } } } brightcoveVideoView.add(video); brightcoveVideoView.start(); } });
위
Log()
메소드는 다음 미디어 정보를 반환합니다. -
사용자 정의 필드 (있는 경우)를 볼 수 있습니다.
Video
목적. 다음 코드를onVideo
콜백 메서드를 사용하여customField
지도.catalog.findVideoByID(getString(R.string.videoId), new VideoListener() { @ Override public void onVideo(Video video) { Map<String, String> customFieldMap = (HashMap<String, String>) video.getProperties().get(Video.Fields.CUSTOM_FIELDS); if (customFieldMap != null && customFieldMap.size() > 0) { for (Map.Entry<String, String> entry : customFieldMap.entrySet()) { Log.v(TAG, "onVideo: Custom fields: Key: " + entry.getKey() + " Value: " + entry.getValue()); } } brightcoveVideoView.add(video); brightcoveVideoView.start(); } });
다음은 위 코드에서 볼 수있는 기록 된 출력의 예입니다.
MainActivity: onVideo: Custom fields: Key: genre Value: Action MainActivity: onVideo: Custom fields: Key: customlist Value: customListValue1
사용자 정의 필드는 다음과 같이 나타낼 수 있습니다.
Strings
또는Lists
. 사용자 정의 필드는List
유형, 목록입니다String
필드의 값을 설정하기 위해 하나의 값이 선택되는 값.
지리적으로 필터링 된 동영상
Android 용 Brightcove Player SDK는 지리적 필터링 된 비디오를 지원합니다.
동영상에 지역 필터링을 추가하여 동영상을 볼 수 있거나 볼 수없는 국가를 제어 할 수있는 두 가지 방법이 있습니다.
Android 앱에서 Brightcove 's edge를 사용하여 비디오를 검색 할 때목록해당 동영상에 대해 지리적으로 필터링 된 국가의 개체 (Playback API)에 다음 메시지가 표시됩니다.
error { message: Access to this resource is forbidden by access policy.
client_geo: us
error_subcode: CLIENT_GEO
error_code: ACCESS_DENIED }
브라이트코브 플레이어 고객
브라이트코브 플레이어 고객은 비디오 자산에 대한 URL을 제공합니다.
다음은 비디오보기에 비디오를 추가하고 재생을 시작하는 예입니다.
import com.brightcove.player.model.DeliveryType;
import com.brightcove.player.model.Video;
import com.brightcove.player.view.BrightcoveExoPlayerVideoView;
import com.brightcove.player.view.BrightcovePlayer;
import com.brightcove.player.analytics.Analytics;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
BrightcoveVideoView brightcoveVideoView = (BrightcoveVideoView) findViewById(R.id.brightcove_video_view);
Analytics analytics = brightcoveVideoView.getAnalytics();
analytics.setAccount("123456789");
MediaController controller = new MediaController(this);
brightcoveVideoView.setMediaController(controller);
brightcoveVideoView.add(Video.createVideo("http://solutions.brightcove.com/bcls/assets/videos/Bird_Titmouse.mp4", DeliveryType.MP4));
brightcoveVideoView.start();
}
다음으로 SDK 아키텍처 내에서 이벤트가 작동하는 방식을 살펴 보겠습니다.