Android TV: Building TV Channels

TV 시청의 전통적인 방식은 채널 서핑입니다 당신은 리모컨을 들고, 뒤로 기대어, 채널을 뒤집어서 무엇이 켜져 있는지 확인하십시오

Android TV에서 앱 개발자는 TV 채널을 만들 수 있습니다 따라서 귀하의 콘텐츠는이 경험의 일부가 될 수 있습니다 사용자에게 채널의 모양과 느낌 일반 TV 채널처럼 그러나 그 뒤에서는 비디오를 인터넷에서 스트리밍합니다 비디오 재생 목록에서 TV 채널을 만들 수 있습니다

프로그램의 다른 채널과 나란히 표시되도록하십시오 안내서 이 기능을 가능하게하는 기능 TV 입력 프레임 워크입니다 Android TV 작동 방식을 정의합니다 실제 TV 튜너가 제공하는 채널 사용 앱에서 제공하는 스트리밍 기반 채널은 물론 채널을 만들려면 두 가지 주요 클래스를 구현해야합니다

설정 활동은 시스템과 통신합니다 귀하의 채널에 관한 정보를 제공하고, 언제 어떤 프로그램이 켜지는지 등 한편, TV 입력 서비스는, 시스템에서 이벤트를 수신합니다 이 이벤트는 사용자가 상호 작용할 때 알려줍니다 귀하의 채널과 함께 – 예를 들어, 그들이 그것을 튜닝 할 때 또는 볼륨을 변경하십시오

채널을 만드는 방법을 배우는 가장 좋은 방법 당신이 링크를 찾을 수있는 샘플 애플 리케이션을 체크 아웃하는 것입니다 아래의 설명에서 설치하면 TV 입력을 제공합니다 소스를 통해 라이브 채널 앱을 구성 할 수 있습니다 이로써 완전히 통합 된 다양한 채널이 만들어집니다 프로그램 가이드

이들 각각은 다른 기능을 보여줍니다 인터넷에서 일부 스트림 비디오 MPEG Dash 또는 HLS를 사용합니다 다른 사람들은 기능을 사용하는 방법을 보여줍니다 여러 오디오 트랙에서 자막처럼 좋아 샘플이 보여주는 또 다른 멋진 기능 앱 연결이라고합니다

앱 연결을 사용하면 직접 링크를 제공 할 수 있습니다 내 채널에서 앱으로 그리고 이것은 참여를 증가시키는 좋은 방법입니다 이제 구현을 높은 수준에서 살펴 보겠습니다 기존 앱을 가지고 있다면 TV 입력 프레임 워크에 대한 지원을 추가 할 수 있습니다 기존 APK에 추가하십시오

평상시처럼 응용 프로그램 매니페스트를 업데이트하십시오 첫 번째 단계는 TV 입력 서비스를 선언하는 것입니다 바인드 TV 입력 권한을 추가하십시오 TV 입력을 지정하는 인 텐트 필터를 선언합니다 서비스

서비스 선언 내에서 또한 설정 작업을 가리켜 야합니다 메타 데이터에 대한 링크를 제공하면됩니다 별도의 XML 자원으로 매니페스트가 업데이트되면 귀하의 서비스를 구현할 시간 이를 위해 TV 입력 서비스 클래스를 확장합니다 서비스는 시스템에 의해 시작됩니다

사용자가 채널을 조정합니다 그리고 그 일이 발생하면 onCreateSession 메서드 호출됩니다 이 메소드에서 TV 입력 서비스를 반환합니다 세션 개체 여기에는 시스템이 사용자에게 알리기 위해 사용하는 콜백 메소드가 포함됩니다 다른 이벤트가있을 때처럼 콘텐츠를 재생할 시간

첫 번째 중요한 이벤트는 onSetSurface입니다 이것은 Android 표면을 제공하는 데 사용됩니다 콘텐츠를 재생할 수있는 개체입니다 Android의 Media Player를 사용하여 할 수 있습니다 또는 ExoPlayer 및 기타 미디어 플레이어

그런데 ExoPlayer를 처음 접한다면, Google이 관리하는 오픈 소스 대안입니다 안드로이드의 미디어 플레이어 API 사용자가 내 채널 중 하나를 튜닝하면, onTune 콜백이 호출됩니다 이 신호는 그 표면에서 재생을 시작할 시간입니다 추가 콜백이 있습니다

자막과 같은 것을 처리하도록 구현할 수 있습니다 자녀 보호 기능 그리고 당신은이 링크에서 이것들에 대한 더 자세한 정보를 찾을 수 있습니다 이제 활동을 준비하면서 전자 프로그램 가이드를 제공해야합니다 데이터 또는 짧은 EPG

이것은 귀하의 채널 및 프로그램 목록 일뿐입니다 언제 어떤 프로그램이 표시되는지 알려줍니다 다른 미디어 데이터와 마찬가지로 Android TV 채널 및 프로그램 정보를 유지합니다 콘텐츠 제공 업체 귀하의 준비 활동 안에, 당신은 Android TV가 예상하는 필드에 프로그램 정보를 매핑하십시오

이 링크에서이 필드에 대한 세부 정보를 찾을 수 있습니다 완전한 예제와 유틸리티 클래스를 보라 샘플 앱에서 시간이 지남에 따라 프로그램 데이터를 업데이트해야 할 수도 있습니다 너는 그걸 배경으로 할 수있어 Job Scheduler와 같은 기본 제공 솔루션을 사용합니다

작업을 등록하고 업데이트를 실행할 수 있습니다 유휴 시간 동안 – 매일 밤 3시에 자세한 내용은 Developer Training을 확인하십시오 및 샘플 응용 프로그램 Android TV 커뮤니티를 방문하십시오

질문하고 아이디어를 공유 할 수 있습니다 보고 주셔서 대단히 감사합니다 다음에 다시 보겠습니다 [음악 재생]