The Cast dialog is shown whenever the Cast button is pressed. The Cast dialog lets users connect, control, and disconnect from Web Receivers.
If you're developing a custom implementation or building an app for iOS or Chrome, you must implement this dialog in a consistent way, so that users recognize and trust it to function consistently across devices, apps and platforms. Refer to the Reference apps for examples.
Cast dialog, not connected (receivers available)
Required (default behavior of
Android MediaRouter):
A When the sender app is not connected to a Cast receiver,
tapping the Cast button shows the Cast dialog
B The Cast dialog title, "Cast to" appears
C The Cast dialog shows a list of available Web Receivers
D Each receiver currently casting should display, "Casting
app name"
Note the multi-user scenarios:
- When another user connects to a receiver currently casting from the same app and account, the sender app provides the controls for the cast content.
- When another user connects to a receiver currently casting from an app that is not casting, the previous sender app disconnects and the new sender app connects.
Android
Cast dialog, not connected

Cast home screen

iOS
Cast dialog, not connected

Cast home screen

Chrome
Cast dialog, not connected

Cast home screen

Cast dialog, connected but not casting
Required
A When the sender app is connected to a Web Receiver,
tapping the Cast button shows the Cast dialog
B The Cast dialog title "Receiver-Name" appears
C The Cast dialog shows a button to stop casting
with button label "STOP CASTING" (for more information about disconnecting, see
Sender stops cast)
Android
Cast dialog, connected but not casting

Receiver app loaded / idle

iOS
Cast dialog, connected but not casting

Receiver app loaded / idle

Cast dialog, while casting
Required
A The Cast dialog title "Receiver-Name" appears
B The receiver or content currently casting is shown below
the title
C The Cast dialog shows a "STOP CASTING" button that stops
casting (for more information see
Sender stops cast)
Best practice
- For the best user experience, provide persistent controls in addition to the controls in the Cast dialog.
Android
Cast dialog, while casting

Receiver playing content

iOS
Cast dialog, while casting

Receiver playing content

Chrome
Cast dialog, while casting

Receiver playing content

Images used in this design guide are courtesy of the Blender Foundation, shared under copyright or Creative Commons license.
- Elephant's Dream: (c) copyright 2006, Blender Foundation / Netherlands Media Art Institute / www.elephantsdream.org
- Sintel: (c) copyright Blender Foundation | www.sintel.org
- Tears of Steel: (CC) Blender Foundation | mango.blender.org
- Big Buck Bunny: (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2021-03-04 UTC.