page.title=Building Live TV Apps
page.tags=tv, tif
helpoutsWidget=true
startpage=true

@jd:body

<div id="tb-wrapper">
<div id="tb">
  <h2>Dependencies and Prerequisites</h2>
  <ul>
    <li>Android 5.0 (API level 21) or higher</li>
  </ul>
  <h2>You should also read</h2>
  <ul>
    <li><a href="{@docRoot}reference/android/media/tv/package-summary.html">
      android.media.tv</a></li>
  </ul>
  <h2>Try It Out</h2>
  <ul>
    <li><a class="external-link" href="https://github.com/googlesamples/androidtv-sample-inputs">
      TV Input Service sample app</a></li>
  </ul>
</div>
</div>

<p>
  Watching live television shows and other continuous, channel-based content is a big part of the
  TV experience. 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.
</p>
<p>
  The framework enables developers to define live TV input sources by implementing a TV input
  service. This service publishes a list of channels and programs to the TV Provider. The live TV
  app on a TV device gets the list of available channels and programs from the TV Provider and
  displays them to a user. When a user selects a specific channel, the live TV app creates a
  session for the associated TV input service through the TV Input Manager, and tells the TV input
  service to tune to the requested channel and play the content to a display surface provided by
  the TV app.
</p>

<img src="{@docRoot}images/tv/tv-tif-overview.png" id="figure1">
<p class="img-caption">
  <strong>Figure 1.</strong> Functional diagram of the TV Input Framework
</p>

<p>
  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.
</p>

<h2>Topics</h2>

<dl>
  <dt><b><a href="tvinput.html">Developing a TV Input Service</a></b></dt>
    <dd>Learn how to develop a TV input service, which works with the system TV app.</dd>

  <dt><b><a href="channel.html">Working with Channel Data</a></b></dt>
    <dd>Learn how to describe channel and program data for the system.</dd>

  <dt><b><a href="ui.html">Managing User Interaction</a></b></dt>
    <dd>Learn how to present overlays, manage content availability, and handle content selection.</dd>
</dl>


