The following is the first few sections of a chapter from The Busy Coder's Guide to Android Development, plus headings for the remaining major sections, to give you an idea about the content of the chapter.
A popular target for
MediaRouter, in some countries, is Chromecast, Google’s
lightweight streaming media player for televisions and other HDMI displays.
Originally, Chromecast was a “closed box”, with no official support for third-party
apps (and active work to block unofficial support). In early 2014, though,
Google finally opened up Chromecast to developers.
This chapter covers what it takes to enable an Android app to “cast” content to a Chromecast, possibly as part of a broader external display strategy.
In addition to the core chapters, you should read
the chapter on
before reading this chapter.
You will see two terms used in this chapter and in the online literature regarding all of this: Chromecast and “Google Cast”. Despite the similarities in their names, these are fairly distinct items.
Chromecast, as noted earlier in this chapter, is a streaming media receiver, sold by Google under their own brand.
Figure 830: Google Chromecast
It plugs into an HDMI port of a television or similar display, plus uses micro USB for supplying power.
However, rather than other streaming media receivers, that use Bluetooth or IR (infrared) peripherals for controlling the playback, Chromecast appears to use WiFi, designed to be controlled by a smartphone, tablet, or Chrome Web browser.
Chromecast itself runs its own OS, apparently a hybrid of Android and ChromeOS.
Google Cast can be thought of as a control protocol for Google Cast-enabled receivers. Through a Google-supplied SDK (or other means), Google Cast client apps (“senders”) can direct a Google Cast-enabled receiver to play, pause, rewind, fast-forward, etc. a stream.
Google Cast could, in theory, be “baked into” displays (such as a television), in addition to being supported by dedicated media receivers like the Chromecast.
Google Cast does assume that, in general, the media receiver runs its own OS and is capable of playing streaming media without ongoing assistance from the Google Cast client. Hence, the client is not “locked into” having to keep feeding content to the Google Cast client, allowing the user to go off and do other things with that client while playback is going on.
The preview of this section was whisked away by a shark-infested tornado.
The preview of this section was the victim of a MITM ('Martian in the middle') attack.
The preview of this section took that left turn at Albuquerque.
The preview of this section was lost in the sofa cushions.
The preview of this section was fed to a gremlin, after midnight.
The preview of this section was lost due to a rupture in the space-time continuum.