1page.title=Building TV Channels
2page.tags=tv, tif
3helpoutsWidget=true
4startpage=true
5
6@jd:body
7
8<div id="tb-wrapper">
9<div id="tb">
10  <h2>Dependencies and Prerequisites</h2>
11  <ul>
12    <li>Android 5.0 (API level 21) or higher</li>
13  </ul>
14  <h2>You should also read</h2>
15  <ul>
16    <li><a href="{@docRoot}reference/android/media/tv/package-summary.html">
17      android.media.tv</a></li>
18  </ul>
19  <h2>Try It Out</h2>
20  <ul>
21    <li><a class="external-link" href="https://github.com/googlesamples/androidtv-sample-inputs">
22      TV Input Service sample app</a></li>
23  </ul>
24</div>
25</div>
26
27<p>
28Watching live TV shows and other continuous, channel-based content is a big part of the TV
29experience. Users are accustomed to selecting and watching shows on TV by channel browsing.
30To provide your users a similar experience, use the TV Input Framework to create channels for
31publishing video or music content so that your media appears alongside traditional TV channels in
32the programming guide.
33</p>
34<p>
35Android supports receiving and playback of live video content through the TV Input Framework in
36Android 5.0 (API level 21). This framework provides a unified method for receiving audio and video
37channel content from hardware sources, such as HDMI ports and built-in-tuners, and software
38sources, such as video streamed over the internet.
39</p>
40<p>
41  The framework enables developers to define live TV input sources by implementing a TV input
42  service. This service publishes a list of channels and programs to the TV Provider. The live TV
43  app on a TV device gets the list of available channels and programs from the TV Provider and
44  displays them to a user. When a user selects a specific channel, the live TV app creates a
45  session for the associated TV input service through the TV Input Manager, and tells the TV input
46  service to tune to the requested channel and play the content to a display surface provided by
47  the TV app.
48</p>
49
50<img src="{@docRoot}images/tv/tv-tif-overview.png" id="figure1">
51<p class="img-caption">
52  <strong>Figure 1.</strong> Functional diagram of the TV Input Framework
53</p>
54
55<p>
56  The TV Input Framework is designed to provide access to a wide variety of live TV input sources
57  and bring them together in a single user interface for users to browse, view, and enjoy content.
58  Building a TV input service for your content can help make it more accessible on TV devices.
59</p>
60
61<h2>Topics</h2>
62
63<dl>
64  <dt><b><a href="tvinput.html">Developing a TV Input Service</a></b></dt>
65    <dd>Learn how to develop a TV input service, which works with the system TV app.</dd>
66
67  <dt><b><a href="channel.html">Working with Channel Data</a></b></dt>
68    <dd>Learn how to describe channel and program data for the system.</dd>
69
70  <dt><b><a href="ui.html">Managing User Interaction</a></b></dt>
71    <dd>Learn how to present overlays, manage content availability, and handle content selection.</dd>
72</dl>
73
74
75