Note: This version of the CaC Tool has been deprecated. Please update your bookmarks and use the new CaC Tool v2 at https://casttool.appspot.com/cactool/.

1. Enter your receiver application ID
Use the default receiver application ID provided (CC1AD845) or enter your own application ID. Scroll down for logs.

2. Click the Cast icon or select Cast... from the Chrome menu
You can find the 'Cast...' option under the three-dot Chrome menu in the upper right of your browser. The Cast icon can be made static on your toolbar if you right-click it and select "Always show icon".



3 a. Set Credentials
Enter your own token to test encrypted content here. Your token will be accessible in the setCredentials callback in your receiver application. Leaving this field blank will disable the SET_CREDENTIALS message. (LoadByEntity will be directly triggered).
3 b. Load By Entity - Choose content to cast
Use the provided url (playable on receiver with sample appID in step 1) or enter your entity information (same as 'urlTemplate' feed URL) in the tool. Note that this should be the same URL that you are sending in your feeds. The URL will be available in the loadByEntity callback in your receiver application



3 c. Load By Entity - Shuffle
Optional parameter to shuffle tracks contained within the entity upon load. E.g. Shuffle tracks within a playlist entity







4a. Media Commands - Playback Controls
Playback controls are issued on the media namespace and shall trigger respective commands similar to those sent by a cast sender device.















4b. Media Commands - Captions
Toggle Captions ON/OFF. Choose a Captions language and also choose if it is to be signaled as a suggested language - something not explicitly chosen by the user, but instead inferred from the user's spoken language.








4c. Media Commands - Alternate Audio
(New) command to test switching to an anternate audio language track in the currently playing media. Please make sure you test with a stream that has two or more audio tracks. Choose the alternate audio track language to change to. Also, choose if it is to be signaled as a suggested language - something not explicitely chosen by the user, but instead inferred from the user's spoken language.





4d. Media Commands - Play It Again
(New) command to play the last played media once again. Default behavior is to restart media from beginning if already playing or start a new load of the last played media.






4e. Media Commands - Checking for Media Status
Media Status messages are sent from the receiver to update senders on current receiver status and are usually in response to commands on the media namespace. E.g. Play, Pause etc. If you use the Cast receiver SDK provided Media Manager to handle incoming media messages in your receiver application, this should work automatically (unless you have explicitely overriden the behavior). If you are managing messages on the media namespace without the Cast SDK provided Media Manager, please make sure that you send out media status messages for all incoming commands in the media namespace.

Once you have issued a few media commands, please scroll to the Logs section to see if you received Media Status messages from your receiver application. These messages look like "Received MediaStatus update on media namespace"




4f. Media Commands - Seeking into media
Seeks can be relative or absolute. Enter a time in seconds here (>= 0). E.g., enter a value of 0 and click 'absolute seek to 'x' sec' to seek to the beginning of the content.







4g. What's Playing
Command to check what is being played right now. Once a media is playing, please check the Logs section to see the title provided in the metadata of the media.






5. User Actions
User actions are issued in the Command & Control namespace. These will be available in the userAction callback in your receiver application. User actions also have an optional context that you could receive. E.g.: track, album etc. Please refer to the documentation for additonal details.














6. Play String
A playString call is issued from your receiver application. This button triggers the 'STREAM_HIJACKED' playstring by simulating the scenario as part of a load request. Please refer to the documentation for more details.









7. Display Status
Applicable when casting to devices with a screen. When users ask for the currently playing media, applications will need to display status information of the currently playing media on the TV screen









8. Focus State
This message is sent to your application if the platform is ducking your application's volume due to assistant activity such as listening to talk, talking back, alarms, etc. A state change event is sent when activity is started with NOT_IN_FOCUS state, and when activity ends with IN_FOCUS state.

Note that this is only available in device software version 1.26 and ahead.







Logs