iOS용 네이티브 SDK를 사용한 코드 스니펫

이 항목에서는 SDK로 개발하는 동안 참조로 유용 할 수 있습니다 코드 조각의 컬렉션을 찾을 수 있습니다. 자세한 해결 방법은 iOS 플레이어 샘플을 참조하십시오 .

목차

광고

분석 도구
  • Google Analytics

자막

DRM (콘텐츠 보안)

큐 포인트

재생

재생목록

스타일링

AirPlay 용 사용자 지정 컨트롤

브라이트코브 PlayerUI 컨트롤을사용하면 모든 설정이 완료됩니다. AirPlay 기능은 즉시 작동하므로 사용자가 Apple TV를 통해 고화질 디스플레이로 비디오를 스트리밍 할 수 있습니다.

사용자 지정 컨트롤을 사용하는 경우 다음 단계를 수행 할 수 있습니다.

  1. AirPlay에 대한 Apple의 개발자 문서에서 AirPlay에 대해 알아보십시오 .

  2. 재생 컨트롤러의allowsExternalPlayback 속성을 사용하여 AVPlayer의allowsExternalPlayback 속성을 설정합니다.

  3. AirPlay 라우터 컨트롤을 설정하고 선택을 처리합니다. 자세한 내용은 Apple의 AirPlay 개요문서를 참조하십시오.

참조

자세한 내용은 BCOVPlaybackController 설명서를 참조하십시오.

폐쇄 캡션 버튼 사용자 지정

BCOVPlayerUI 샘플 코드는 iOS용 네이티브 SDK를 사용할 때 브라이트코브 플레이어를 사용자 지정하는 방법을보여줍니다. 자세한 내용은 네이티브 SDK 레퍼런스 문서의 PlayerUI 컨트롤커스터마이징섹션을 참조하세요.

PlayerUI를 사용하여 폐쇄 캡션 버튼을 사용자 지정하려면 다음 단계를 따르십시오.

  1. 기본 비디오 재생 앱으로 시작하세요 .

  2. 정책 키, 계정 ID 및 비디오 ID의 값을 바꿉니다. 계정에서 텍스트 트랙이있는 비디오를 선택하십시오.

  3. 표준 VOD 레이아웃으로 플레이어 보기를 설정합니다.

  4. closedCaptionButton는 의BCOVPUIButton서브클래스인 a로UIButton선언되며 사용자 지정을 위한 세 가지 추가 메서드를 추가합니다. BCOVPlayerUI 컨트롤을 사용자 정의 할 때마다 사용 가능한 모든 곳에서 Native Player API를 사용해야합니다. 사용자 정의 코드는 다음과 유사해야합니다.

외부 화면에 FairPlay 콘텐츠 표시

AV 어댑터와 HDMI 케이블을 사용하여 외부 디스플레이가 iOS 장치에 연결되어있는 경우 기본 동작은 iOS 화면을 미러링하는 것입니다. 단, 페어플레이로 보호된 비디오를 사용하는 경우는 예외이며, Apple은 이를 미러링하지 못하도록 차단합니다 ( WWDC 2015, 세션 502 ).

FairPlay로 보호 된 비디오를 표시하려면 Brightcove 재생 컨트롤러를 통해 노출되는 AVPlayer 속성을 설정하여 FairPlay 비디오를 외부 디스플레이에서 재생할 수 있도록합니다. 비디오가 전체 화면 모드로 재생됩니다. 다음은 이러한 속성을 설정하는 예입니다.

참조

자세한 내용은 BCOVPlaybackController 설명서를 참조하십시오.

구글 분석

브라이트코브 플레이어와 카탈로그 클래스를 사용하는 경우 비디오 분석이 자동으로 수집되어 Video Cloud Analytics 모듈에 표시됩니다. 추가 측정항목을 보려면 앱에 Google 애널리틱스를 추가할 수 있습니다.

Google 애널리틱스를 앱과 통합하려면 다음 단계를 따르세요.

  1. Google 문서를 검토하여 iOS 앱에 애널리틱스를추가하세요 .
  2. 다음은 Google Analytics를 사용하여 Google의 Firebase SDK를 사용하여 동영상 재생을 추적 할 수있는 한 가지 방법입니다.

 

비트 레이트 제한

에서 HLS 매니페스트에서 어떤 소스 (렌디션) 를 선택할지는 제어할 수 없지만 재생 시 비트레이트 한도를AVPlayer 설정할 수 있습니다. 이렇게하면 플레이어가 지정된 비트 전송률을 초과하는 비트 전송률로 소스 (변환)를 사용할 수 없습니다.

설정preferredPeakBitRate 주어진 네트워크 대역폭 소비의 원하는 한계(초당 비트 수)로AVPlayerItem .

다음 선언 중 하나를 사용하십시오.

비디오 루핑

경우에 따라 비디오가 자동으로 재생되도록 할 수 있습니다. 이렇게하려면 "비디오 끝"수명주기 이벤트를 가져 와서 처음부터 찾아 다시 재생할 수 있습니다.

이 코드는 다음 메서드를 사용하여 playbackController의 델리게이트를 객체에 설정했다고 가정합니다.

재생 목록에서 비디오 관리

비디오 재생 목록을 관리하는 한 가지 방법은 비디오 개체를 테이블에 저장하는 것입니다. 사용자가 테이블에서 비디오를 선택하면 테이블 행에 비디오 개체가 포함됩니다.

작동 방식에 대한 개요는 다음과 같습니다.

  1. 계정에서 재생 목록을 검색하십시오.

  2. 현재 재생 목록의 비디오와 관련된 정보를 저장하는 컨테이너를 다시 초기화합니다.

  3. 테이블 보기를 선택하면 행의 인덱스가 새 테이블을 만드는 데 사용됩니다videoDictionary . 다음으로 사전에 비디오를 요청하십시오. 비디오가 null이 아닌 경우 비디오를 에playbackController로드하십시오.

재생 목록으로 작업하려면 테이블과 같은 다른 개체에 재생 목록을 저장할 수 있습니다. 사용자 상호 작용을 기반으로 개체의 인덱스를 탐색하고 적절한 비디오를 선택할 수 있습니다.

미디어 진행 값

미디어 재생 중에 Player SDK 진행 델리게이트 메서드에보고되는 값에는 초기 값인 음의 무한대와 최종 값의 양의 무한대가 포함될 수 있습니다. 이 값은 프리 롤 및 포스트 롤 광고를 처리 할 때 사용됩니다.

이러한 값이 중요하지 않거나 진행 상황 추적을 방해하는 경우 다음과 같은 조건문을 사용하여 쉽게 무시할 수 있습니다.

참조

자세한 내용은 BCOVPlaybackController 설명서를 참조하십시오.

프로그래밍 방식으로 캡션 수정

Ready이벤트가 수신된 후 재생 중에 언제든지 캡션을 설정할 수 있습니다. 이를 위해 BCOVPlaybackControllerDelegate 를 사용할 수 있습니다.

다음은 캡션 언어를 스페인어로 설정하는 예입니다.

재생 API를 사용한 페이징

재생 API에서 Video Cloud 콘텐츠를 검색할 때 재생 목록에 대한 페이징을 구현할 수 있습니다.

재생 목록의 비디오 집합을 페이지 처리하려면 다음 요청 URL 매개 변수를 사용합니다.

  • limit -Playback API에서 반환 할 동영상 수를 정의합니다.
  • offset -Playback API의 재생 목록에서 건너 뛸 동영상 수를 설정합니다.

이 예에서는 재생 목록의 10번째 동영상으로 시작하는 6개의 동영상을 반환합니다.

프로그래밍 방식으로 큐 포인트 추가

Video Cloud 고객은 Video Cloud Studio를 사용하여 비디오에 큐 포인트를 추가할 수 있습니다. 비디오에 큐 포인트 추가문서.

프로그래밍 방식으로 비디오에 큐 포인트를 추가 할 수도 있습니다. 아래 코드는 Playback API에서 반환 된 동영상에 분기 별 간격 큐 포인트를 추가합니다.

 

의 값에 유의하십시오. your cue point type 다음 중 어떤 것도 사용하지 않는 한 원하는 모든 문자열 값이 될 수 있습니다. iOS 플러그인 . 자세한 내용은 BCV CuePoint 프로토콜 참조문서를 참조하십시오.

IMA 플러그인과 함께 큐 포인트를 사용하는 경우 iOS용 네이티브 SDK용 IMA 플러그인의 VAST 및 VMap/서버 측 광고 규칙섹션에서 이에 대해 자세히 알아보세요. IMA 샘플 앱은 IMA 광고 큐 포인트에 필요한 값을보여줍니다.

아래 코드는 큐 포인트를 수신하고 메시지를 표시합니다.

참고 자료

자세한 내용은 다음을 참조하십시오.

플레이어 제거

플레이어와 뷰를 제거하려는 경우가있을 수 있습니다.

의 소유권을 가진 뷰 컨트롤러를 할당BCOVPlaybackController해제하면 재생 컨트롤러도 할당 해제됩니다. 이렇게 하려면 슈퍼뷰에서 플레이어 뷰를 제거하고 재생 컨트롤러 포인터를 로 설정하십시오nil .

다음은 코드 예제입니다.

오디오 동작 설정

오디오 세션은 앱 수준에서 오디오 동작을 처리합니다. 여러 오디오 세션 범주 및 설정 중에서 선택하여 앱의 오디오 동작을 사용자 지정할 수 있습니다.

앱에 가장 적합한 오디오 세션 카테고리를 선택하세요. 자세한 내용은 Apple 문서를 검토하십시오.

기본 샘플

기본 샘플에는 사용합니다AVAudioSessionCategoryPlayback . 화면이 잠겨 있고 링/무음 스위치가 무음으로 설정된 경우에도 오디오가 재생됩니다. 간단하게 하기 위해 App Delegate에 이에 대한 코드를 넣습니다.

다른 오디오와 믹스

앱의 오디오가 음소거되어 있을 때 다른 앱의 오디오가 들리도록 허용할 수 있습니다. 이렇게 하려면 전류에 액세스할 수 있는 뷰AVAudioSession컨트롤러에서 를 구성하면AVPlayer됩니다.

자세한 내용은 mixWithOthers 범주 옵션을 참조하십시오.

재생 속도 설정

재생 속도를 제어하려면 다음을 설정할 수 있습니다. rate 재산AVPlayer 세션에 노출된 클래스.

기본적으로 재생 속도는 일정한 간격 (0.50, 0.67, 1.0, 1.25, 1.50 및 2.0)으로 만 설정할 수 있습니다. AudioTimePitch 알고리즘을설정하면 더 세분화된 속도 값 (예: 1.7) 을 사용할 수 있습니다. 자세한 내용은 이스택 오버플로 토론을 참조하십시오 .

avPlayerItem.audioTimePitchAlgorithm = AVAudioTimePitchAlgorithmVarispeed;

a의BCOVPlaybackSession 경우 코드는 다음과 비슷할 것입니다.

 

360° 비디오에 대한 VR 고글 모드 설정

360° 비디오를 재생할 때 사용자는 컨트롤 막대에서 Video 360 버튼을 선택하여 VR 고글 모드로 전환할 수 있습니다. 재생이 시작되기 전에 프로그래밍 방식으로이 작업을 수행 할 수도 있습니다. 다음과 같이BCOVPlaybackController 프로토콜의viewProjection 속성을 업데이트하여 이 작업을 수행할 수 있습니다.

 

배경색 변경

세로 모드로 동영상을 재생할 때 플레이어의 위아래에 검은 색 테두리가 보일 수 있습니다. 플레이어보기는 화면의 크기이지만 동영상은 플레이어보기 중앙의 작은 부분 만 차지합니다. 비디오 주변에 보이는 부분은 플레이어 레이어의 배경입니다.

이는 정상적인AVPlayer 동작입니다. 플레이어 레이어에 맞게 비디오를 축소하고 나머지는 플레이어 레이어 배경입니다.

다음 코드를 사용하여 플레이어 레이어 배경을 변경할 수 있습니다.

 

배경색을 흰색으로 설정하면 다음과 같습니다.

배경색
사용자 정의 배경색