android TV-Building TV Channels,Developing a TV Input Service
来源:互联网 发布:黄金比例算法 编辑:程序博客网 时间:2024/06/09 13:50
》Building TV Channels
To provide your users a similar experience, use the TV Input Framework to create channels for publishing video or music content so that your media appears alongside traditional TV channels in the programming guide.
Android supports receiving and playback of live video content through the TV Input Framework in Android 5.0 (API level 21). This framework provides a unified method for receiving audio and video channel content from hardware sources, such as HDMI ports and built-in-tuners, and software sources, such as video streamed over the internet.The framework enables developers to define live TV input sources by implementing a TV input service.
The TV Input Framework is designed to provide access to a wide variety of live TV input sources and bring them together in a single user interface for users to browse, view, and enjoy content. Building a TV input service for your content can help make it more accessible on TV devices.
》Developing a TV Input Service
With the TV input service, you can provide parental controls, program guide information, and content ratings.
> To develop a TV input service, you implement the following components:
TvInputService
provides long-running and background availability for the TV inputTvInputService.Session
maintains the TV input state and communicates with the hosting appTvContract
describes the channels and programs available to the TV inputTvContract.Channels
represents information about a TV channelTvContract.Programs
describes a TV program with data such as program title and start timeTvTrackInfo
represents an audio, video, or subtitle trackTvContentRating
describes a content rating, allows for custom content rating schemesTvInputManager
provides an API to the system TV app and manages the interaction with TV inputs and apps
TvInputService
. Within that declaration, specify the BIND_TV_INPUT
permission to allow the service to connect the TV input to the system. A system service (TvInputManagerService
) performs the binding and has that permission. The system TV app sends requests to TV input services via the TvInputManager
interface. The service declaration must also include an intent filter that specifies the TvInputService
as the action to perform with the intent. Also within the service declaration, declare the service meta data in a separate XML resource. <service android:name="com.example.sampletvinput.SampleTvInput" android:label="@string/sample_tv_input_label" android:permission="android.permission.BIND_TV_INPUT"> <intent-filter> <action android:name="android.media.tv.TvInputService" /> </intent-filter> <meta-data android:name="android.media.tv.input" android:resource="@xml/sample_tv_input" /></service>
<tv-input xmlns:android="http://schemas.android.com/apk/res/android" android:setupActivity="com.example.sampletvinput.SampleTvInputSetupActivity" />
>the onCreate()
method initializes theCaptioningManager
and prepares to handle theACTION_BLOCKED_RATINGS_CHANGED
andACTION_PARENTAL_CONTROLS_ENABLED_CHANGED
actions. These actions describe system intents fired when the user changes the parental control settings, and when there is a change on the list of blocked ratings.
@Overridepublic void onCreate() { super.onCreate(); mHandlerThread = new HandlerThread(getClass() .getSimpleName()); mHandlerThread.start(); mDbHandler = new Handler(mHandlerThread.getLooper()); mHandler = new Handler(); mCaptioningManager = (CaptioningManager) getSystemService(Context.CAPTIONING_SERVICE); setTheme(android.R.style.Theme_Holo_Light_NoActionBar); mSessions = new ArrayList<BaseTvInputSessionImpl>(); IntentFilter intentFilter = new IntentFilter(); intentFilter.addAction(TvInputManager .ACTION_BLOCKED_RATINGS_CHANGED); intentFilter.addAction(TvInputManager .ACTION_PARENTAL_CONTROLS_ENABLED_CHANGED); registerReceiver(mBroadcastReceiver, intentFilter);}> The
TvInputService
creates a TvInputService.Session
that implements Handler.Callback
to handle player state changes. With onSetSurface()
, the TvInputService.Session
sets the Surface
with the video content. The TvInputService.Session
handles the onTune()
event when the user selects a channel, and notifies the system TV app for changes in the content and content meta data. These notify()
methods are described inControl Content and Handle Track Selection further in this training.
The system TV app works with the setup activity you define for your TV input. The setup activity is required and must provide at least one channel record for the system database. The system TV app will invoke the setup activity when it cannot find a channel for the TV input.
- android TV-Building TV Channels,Developing a TV Input Service
- Android TV -5.1- Developing a TV Input Service
- Android TV -5- Building TV Channels
- android tv-Building TV Games
- Android TV-Building Layouts for TV
- Android TV -1- Building TV Apps
- Android TV - 1.3 Building Layouts for TV
- Android TV -2- Building TV Playback Apps
- Android TV -2.3- Building a Details View
- Android TV-Building TV Apps,Get Started with TV Apps
- TV
- TV
- Android TV Input Framework(TIF)--2 构建TV input list
- Android TV Input Framework(TIF)--3 显示Tv Input内容
- Android TV Input Framework(TIF)--2 构建TV input list
- Android TV Input Framework(TIF)--构建TV input list
- Android TV Input Framework(TIF)--显示Tv Input
- Android TV Input Framework(Android TV 一)
- [下载]微软公布Windows 10 TH2 Build 10586 ISO镜像
- 欢迎使用CSDN-markdown编辑器
- Codeforces Round #334 (Div. 2) 604D Modular Arithmetic(数学+快速幂)
- 找到升华思想的大门和钥匙
- ANSYS 16.2 64位下载 附安装教程
- android TV-Building TV Channels,Developing a TV Input Service
- Excel.dll生成
- 客户端通过Rados模块控制ceph存储集群
- Android 倒计时功能
- 数据库设计原则(转载)
- android minSdkVersion maxSdkVersion targetSdkVersion build target
- EasyRecovery(超级数据恢复软件) v11.1 汉化中文企业版
- Storm常见模式------TimeCacheMap
- 为data盘添加磁盘(asm external)