“cast” to your own device · works with google cast devices, plus potentially others ......
TRANSCRIPT
![Page 1: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/1.jpg)
Copyright © 2014 CommonsWare, LLC
“Cast” To Your Own Device
![Page 2: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/2.jpg)
Copyright © 2014 CommonsWare, LLC
Interest in Casting
● Chromecast● Streaming TV device● Control Options
– Web browser– iOS device– Android device
● Cheap, buzz-worthy
● Net: interest in Android apps casting to Chromecast
![Page 3: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/3.jpg)
Copyright © 2014 CommonsWare, LLC
The Cast Vision
● Media Centrally Located● Like... YouTube!
● App Playback Options● Play it back itself, for cases where there is no
Chromecast around or user wants local viewing● Tell Chromecast to play it back (and pause, and
seek, and stop, and...)
● Term: Remote Playback
![Page 4: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/4.jpg)
Copyright © 2014 CommonsWare, LLC
Casting Client Strategies
● What Google Wants: Cast SDK● Works with Google Cast devices
– Chromecast today– Android TV, partner equipment tomorrow?
● Proprietary
● Alternative: RemotePlaybackClient● Works with Google Cast devices, plus potentially
others● Open source
![Page 5: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/5.jpg)
Copyright © 2014 CommonsWare, LLC
The RemotePlaybackClient Flow
App
RemotePlaybackClientSome amount of magic
Remote player
![Page 6: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/6.jpg)
Copyright © 2014 CommonsWare, LLC
The RemotePlaybackClient Flow
App
RemotePlaybackClientRemote player protocol
Remote player
MediaRouteProvider
![Page 7: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/7.jpg)
Copyright © 2014 CommonsWare, LLC
MediaRouteProvider
● Bridge Between Client and Player● Converts media actions like play and pause into
whatever it takes to tell the player to do those actions
● Plugin● Distribute MediaRouteProvider to client devices as
part of an app● Chromecast MediaRouteProvider distributed via
![Page 8: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/8.jpg)
Copyright © 2014 CommonsWare, LLC
MediaRouteProvider Examples
● “Mock” implementation for automated testing● Browser Playback
● Web page opens WebSocket, shows QR code with IP information
● Device scans QR code to configure MediaRouteProvider
● Cast to the Web page, which plays back media
![Page 9: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/9.jpg)
Copyright © 2014 CommonsWare, LLC
MediaRouteProvider Examples
● Alternative Ecosystems● Write media player app for Fire TV, OUYA, etc.● Write MediaRouteProvider for use on client device
to talk to your app running on TV-connected device for remote control
● Alternative Hardware● Embedded media player, exposing protocol over
Android-capable wireless (e.g., Bluetooth)● MediaRouteProvider converts commands to
requests over this wireless protocol
![Page 10: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/10.jpg)
Copyright © 2014 CommonsWare, LLC
Who Uses Your Provider?
● Your Client App● Ensures that if your MediaRouteProvider is
installed, the client device has something to “cast” content to it
● Any Other RemotePlaybackClient-using App● Ideally, some decent subset of those for
developers aiming at Chromecast● Will help once more remote players have market
presence
![Page 11: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/11.jpg)
Copyright © 2014 CommonsWare, LLC
Implementing MediaRouteProvider
● Create a MediaRouteProvider● Register it for specific routes
● Via specially-crafted IntentFilters
● Supply a RouteController to handle actions● Details are up to you
● Create a MediaRouteProviderService to publish MediaRouteProvider, add to manifest
![Page 12: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/12.jpg)
![Page 13: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/13.jpg)
![Page 14: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/14.jpg)
![Page 15: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/15.jpg)
![Page 16: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/16.jpg)
![Page 17: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/17.jpg)
![Page 18: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/18.jpg)
![Page 19: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/19.jpg)
![Page 20: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/20.jpg)
![Page 21: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/21.jpg)
![Page 22: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/22.jpg)
![Page 23: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/23.jpg)
![Page 24: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/24.jpg)
![Page 25: “Cast” To Your Own Device · Works with Google Cast devices, plus potentially others ... Android-capable wireless (e.g., Bluetooth) ... Implementing MediaRouteProvider](https://reader034.vdocuments.us/reader034/viewer/2022042415/5f2fbc8a1963f87858764a6e/html5/thumbnails/25.jpg)
Copyright © 2014 CommonsWare, LLC
Other MediaRouteProvider Capabilities
● Volume control● Session management
● Playback queues, managed by different users