개요
TVOS 용 Brightcove Native SDK를 사용하여 Apple TV 앱을 빌드하면 사용자가 비디오 콘텐츠를 탐색하고, 비디오의 종횡비를 변경하고, 비디오 정보를 가져오고, 자막 및 오디오 설정을 관리 할 수있는 일련의 재생 컨트롤이 제공됩니다.
tvOS용 브라이트코브 네이티브 SDK에서 제공하는 컨트롤에는 다음이 포함됩니다.
- 시계 시간도 표시 할 수있는 진행률 표시 줄
- 비디오 정보, 자막 및 오디오를위한 상단 탭 바
- 상단 탭 표시 줄에 사용자 정의보기 및 컨트롤을 추가하는 기능
사용되는 컨트롤 및 제스처는 AVKit 인터페이스에있는 것과 유사하므로 사용자에게 친숙합니다.
Brightcove SSAI (Server-Side Ad Insertion)를 사용하면 광고 재생 중에 사용자 정의 모양을 볼 수 있습니다.
네이티브 SDK 사용에 대한 자세한 내용은 tvOS용 브라이트코브 플레이어 SDK 개요문서를 참조하십시오.
지원되는 버전
Apple TV UI 컨트롤은 다음 버전에서 사용할 수 있습니다.
디바이스 OS 버전
tvOS 9 이상
네이티브 SDK 버전
iOS용 브라이트코브 네이티브 SDK 버전 6.3.0 이상
시리 리모컨
Siri Remote를 사용하면 Apple TV를 제어 할 수 있습니다. 다음은이를 사용할 수있는 몇 가지 방법입니다.
- Siri에게보고 싶은 것을 찾도록 요청하십시오.
- 터치 표면을 사용하여 화면 주위를 이동하고, 스 와이프하고, 항목을 강조 표시하고 선택합니다.
- 제어 버튼을 눌러 콘텐츠를 빠르게 재생 / 일시 중지하고, 볼륨을 조절하고, 홈 및 메뉴 화면으로 이동합니다.
자세한 내용은 Apple의 Apple TV에서 Siri 리모컨사용하기문서를 참조하십시오.
재생 컨트롤
Apple Siri Remote에서 제스처 및 버튼 누르기를 사용하여 재생을 제어합니다. 다음은 앱에서 사용할 수있는 몇 가지 작업입니다. 자세한 내용은 다음을 참조하십시오.
진행률 표시줄
Apple Siri Remote 트랙 패드를 한 번 탭하면 진행률 표시 줄이 표시되거나 숨겨집니다. 재생이 일시 중지되면 왼쪽 및 오른쪽으로 이동하면 비디오를 앞뒤로 탐색합니다.
스크러빙의 경우 사용자는 클릭 한 상태에서 왼쪽 또는 오른쪽으로 이동하여 비디오를 빨리 감거나 되 감을 수 있습니다.
동영상이 재생되는 동안 사용자는 Siri Remote 트랙패드의 왼쪽 1/4을 두 번 클릭하여 10초 뒤로 이동하거나 트랙패드의 오른쪽 1/4을 두 번 클릭하여 10초 앞으로 이동할 수 있습니다.
비디오 종횡비
Apple Siri Remote 트랙 패드를 두 번 탭하면 세 가지 표준 비디오 종횡비가 순환됩니다.
- 종횡비를 준수하는 레터 박스 (전체 비디오 표시)
- 종횡비가 존중 된 전체 화면 (비디오가 잘릴 수 있음)
- 전체 화면에 맞게 확대 된보기 (가로 세로 비율 무시)
상단 탭 바
Apple Siri Remote 트랙 패드에서 아래로 스 와이프하면 상단 메뉴가 표시되고 진행률보기가 숨겨집니다. 표시되면 위로 스 와이프하면 상단 메뉴가 숨겨집니다.
탭 표시 줄에는 다음과 같은 기본 항목이 있습니다.
- 정보
- 자막
- 오디오
각 탭 표시 줄 항목과 관련된 텍스트 레이블을 수정하거나 탭 표시 줄에서 사용자 정의보기를 만들 수 있습니다.
정보
정보상단 메뉴 항목을 선택하면 현재 로드된 비디오와 관련된 제목, 설명 및 길이가 표시됩니다. 이 데이터는 Playback API의 동영상 메타 데이터에서 검색되지만 동영상이로드 될 때 고유 한 텍스트를 설정할 수 있습니다.
자막
자막상단 메뉴 항목을 선택하면 비디오와 관련된 자막을 표시하는 옵션이 표시됩니다. 여기에서 재생 중에 표시 할 자막 / 캡션을 관리 할 수 있습니다.
오디오
오디오상단 메뉴 항목을 선택하면 비디오 재생 중에 사용할 수 있는 오디오 옵션이 표시됩니다.
사용자 정의
tvOS용 브라이트코브 네이티브 SDK를 사용하면 탭 바에 원하는 뷰를 쉽게 추가할 수 있습니다. 뷰에는 필요한 모든 표준 UIKit 뷰 또는 컨트롤이 포함될 수 있습니다.
SSAI를 사용한 광고
콘텐츠 재생 외에도 Brightcove SSAI (Server-Side Ad Insertion)를 사용할 때 광고 모드를 추가했습니다. 이 모드에는 다음 기능이 포함됩니다.
- 사용자가 과거의 광고를 스크러빙하지 못하도록하는 기능
- 광고 시간에 남은 시간 및 광고에 대한 피드백 표시
샘플
Apple TV 컨트롤을 경험하고 사용자 정의 탭 막대 항목보기를 만드는 방법을 보려면 다음 코드 샘플을 확인하십시오.
라이브 / 라이브 DVR
Apple TV 앱으로 작업 할 때 tvOS 용 Brightcove Native SDK는 라이브 및 DVR 라이브 스트림을 모두 지원합니다. DVR 라이브를 통해 사용자는 다음을 수행 할 수 있습니다.
- 진행률 표시 줄을 사용하여 과거 순간을 찾습니다.
- 현재 라이브 순간으로 돌아가 실시간으로 콘텐츠를 시청하세요.
재생 구현
Apple TV 앱에서 라이브 또는 라이브 DVR 스트림을 재생하려면 다음을 수행하십시오.
- 기본 Apple TV 샘플 코드부터 시작해보세요. Xcode에서 프로젝트를 열고 ViewController.swift파일을 엽니다.
-
에서
createTVPlayerView()
기능, 설정playerType
어느 쪽이든live
또는liveDVR
.playerView = BCOVTVPlayerView(options: options) if (playerView != nil) { playerView!.frame = self.videoContainerView.bounds playerView!.playerType = BCOVTVPlayerType.liveDVR; self.videoContainerView.addSubview(playerView!) }
viewDidLoad()
함수를 찾으세요.createSampleTabBarItemView()
함수 호출은 선택 사항이며 탭 표시줄에서 사용자 지정 보기를 만드는 방법을 보여 줍니다. 이 예에서는이 함수에 대한 호출을 주석 처리합니다.requestContentFromPlaybackService()
함수 호출에 주석을 답니다.-
viewDidLoad()
함수에서 닫는 괄호 앞에 다음을 수행하는 코드를 추가합니다.override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. createTVPlayerView() // createSampleTabBarItemView() // Create and configure the playback controller playbackController.delegate = self playbackController.isAutoAdvance = true playbackController.isAutoPlay = true // Link the playback controller to the Player View playerView?.playbackController = playbackController // requestContentFromPlaybackService() // live stream let url = URL(string: "your live stream url") let video: BCOVVideo = BCOVVideo(hlsSourceURL:url ) self.playbackController.setVideos([video] as NSArray) }
- 라이브 또는 라이브 DVR 스트림의 URL 문자열을 정의합니다.
- 이전 단계의 라이브 또는 라이브 DVR 스트림 URL을 사용하여
BCOVVideo
객체를 생성합니다. setVideos()
함수를 호출하여 자동으로 재생을 시작하도록 설정된playbackController
의 재생 대기열에 실시간 스트림을 추가합니다.
라이브 스트림 표시기
tvOS용 Native SDK에서 제공하는 진행률 표시줄은 실시간 스트림의 경우 채워지지 않습니다. 진행률 표시 줄 아래의 표시기는 스트림이 라이브 중일 때와 일시 중지 된 때를 사용자에게 알려줍니다.
라이브 DVR 진행률 표시 줄
진행률 표시 줄 아래의 표시기는 스트림이 라이브 중일 때와 일시 중지 된 때를 사용자에게 알려줍니다.
실시간 스트림을 시청하는 동안 진행률 표시 줄이 완전히 채워집니다. 스트림에서 이전 시간을 찾는 것은 다음과 유사합니다.