# GCKRemoteMediaClient Class

[Instance Methods](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#pub-methods) \| [Properties](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#properties) GCKRemoteMediaClient Class Reference

## Overview

A class for controlling media playback on a Cast receiver.

An instance of this object is available as the property [GCKSession::remoteMediaClient](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_session#a1a8e2db83593db698392d2a7504e7b11 "The GCKRemoteMediaClient object that can be used to control media playback in this session...").

Since
:   3.0

Inherits NSObject.

|---|---|
| ## Instance Method Summary ||
| (void) | - [addListener:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a85f0f6b8a08b75f3853ea84b9413f035) |
|   | Adds a listener to this object's list of listeners. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a85f0f6b8a08b75f3853ea84b9413f035) |
|   ||
| (void) | - [removeListener:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a22d327d30564290805029c31b1416eaa) |
|   | Removes a listener from this object's list of listeners. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a22d327d30564290805029c31b1416eaa) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [loadMediaWithLoadRequestData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a98ef1f2e311392331fb1deb68d91f6ce) |
|   | Loads and starts playback of a media item or a queue of media items with a request data. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a98ef1f2e311392331fb1deb68d91f6ce) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [loadMedia:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97e342a94b88b1b6c80af53f63fb8eb3) |
|   | Loads and starts playback of a new media item with default options. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97e342a94b88b1b6c80af53f63fb8eb3) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [loadMedia:withOptions:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a9f1ad9f504da383c650144a33e3d4797) |
|   | Loads and starts playback of a new media item with the specified options. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a9f1ad9f504da383c650144a33e3d4797) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [loadMedia:autoplay:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a556ee7ab44a67ba7f5637f28614ad9c0) |
|   | Loads and optionally starts playback of a new media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a556ee7ab44a67ba7f5637f28614ad9c0) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [loadMedia:autoplay:playPosition:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a917a9dca89ebaa7c6b368c61cc5219b0) |
|   | Loads and optionally starts playback of a new media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a917a9dca89ebaa7c6b368c61cc5219b0) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [loadMedia:autoplay:playPosition:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ac6aaca2c273d0de06f67a01b4d6ca096) |
|   | Loads and optionally starts playback of a new media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ac6aaca2c273d0de06f67a01b4d6ca096) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [loadMedia:autoplay:playPosition:activeTrackIDs:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad5e3a47c83dc5942e8aa4c5b6fd9c925) |
|   | Loads and optionally starts playback of a new media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad5e3a47c83dc5942e8aa4c5b6fd9c925) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [loadMedia:autoplay:playPosition:activeTrackIDs:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab5bf9d2bfbfda23540a03c01bc252b28) |
|   | Loads and optionally starts playback of a new media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab5bf9d2bfbfda23540a03c01bc252b28) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [setPlaybackRate:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab64e42df31cef080b147a4663a4c2a6d) |
|   | Sets the playback rate for the current media session. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab64e42df31cef080b147a4663a4c2a6d) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [setPlaybackRate:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a3c2fcacb2ab6dcc3da9ff471501db623) |
|   | Sets the playback rate for the current media session. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a3c2fcacb2ab6dcc3da9ff471501db623) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [setActiveTrackIDs:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a8eb6cb3ec86f40f1e21c95908f5847bc) |
|   | Sets the active tracks. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a8eb6cb3ec86f40f1e21c95908f5847bc) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [setTextTrackStyle:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a65e3ec363589c31569e7bd8eff9a2b5c) |
|   | Sets the text track style. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a65e3ec363589c31569e7bd8eff9a2b5c) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [pause](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a6c192d727527451ee4f65bbeb30544d7) |
|   | Pauses playback of the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a6c192d727527451ee4f65bbeb30544d7) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [pauseWithCustomData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a58e5420f38e128fe44deb34dfafe38ec) |
|   | Pauses playback of the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a58e5420f38e128fe44deb34dfafe38ec) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [stop](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a7245467a939ee0328b37ea76dc80175c) |
|   | Stops playback of the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a7245467a939ee0328b37ea76dc80175c) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [stopWithCustomData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a7fb8320f923cd0f21f2e787b3ea7b5a7) |
|   | Stops playback of the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a7fb8320f923cd0f21f2e787b3ea7b5a7) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [play](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#afc99d34ceaa076361ca52b990f8d71f2) |
|   | Begins (or resumes) playback of the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#afc99d34ceaa076361ca52b990f8d71f2) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [playWithCustomData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ac782e4f66bad6f2d83c28ebc9fc12edd) |
|   | Begins (or resumes) playback of the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ac782e4f66bad6f2d83c28ebc9fc12edd) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [skipAd](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a1ef65ce06b3e7643715dcf133259e250) |
|   | Sends a request to skip the playing ad. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a1ef65ce06b3e7643715dcf133259e250) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [seekWithOptions:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#acdfc9339da1874e95bf2375aad2f27d6) |
|   | Seeks to a new position within the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#acdfc9339da1874e95bf2375aad2f27d6) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [seekToTimeInterval:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a53a3c31fb3ba10ebaf10a583bb1a60c0) |
|   | Seeks to a new position within the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a53a3c31fb3ba10ebaf10a583bb1a60c0) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [seekToTimeInterval:resumeState:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a51914c949be3bbe300692abf5322315c) |
|   | Seeks to a new position within the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a51914c949be3bbe300692abf5322315c) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [seekToTimeInterval:resumeState:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a8d87bd5db7f9bbdbf135e609138ad01a) |
|   | Seeks to a new position within the current media item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a8d87bd5db7f9bbdbf135e609138ad01a) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueFetchItemIDs](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad85a975430ac2437260ce771ab456f46) |
|   | Requests the list of item IDs for the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad85a975430ac2437260ce771ab456f46) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueFetchItemsForIDs:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0242790c3ead935d98bd377a3fb1875e) |
|   | Requests complete information for the queue items with the given item IDs. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0242790c3ead935d98bd377a3fb1875e) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueLoadItems:startIndex:repeatMode:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a006a8893ecc7bf74f383cf85d90392ac) |
|   | Loads and optionally starts playback of a new queue of media items. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a006a8893ecc7bf74f383cf85d90392ac) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueLoadItems:startIndex:repeatMode:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a17ab838df2e8db1ee79615c67c92a04b) |
|   | Loads and optionally starts playback of a new queue of media items. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a17ab838df2e8db1ee79615c67c92a04b) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueLoadItems:startIndex:playPosition:repeatMode:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a419aaa4ebaf3d5eae1ff6f3b895c2696) |
|   | Loads and optionally starts playback of a new queue of media items. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a419aaa4ebaf3d5eae1ff6f3b895c2696) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueLoadItems:withOptions:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ada70798e3291a532e8ad27d94e8f8218) |
|   | Loads and optionally starts playback of a new queue of media items. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ada70798e3291a532e8ad27d94e8f8218) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueInsertItems:beforeItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#acf3a5017ce7997a76f29072b76ef6275) |
|   | Inserts a list of new media items into the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#acf3a5017ce7997a76f29072b76ef6275) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueInsertItems:beforeItemWithID:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a815fc03a8f770b1e7e939c899a448496) |
|   | Inserts a list of new media items into the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a815fc03a8f770b1e7e939c899a448496) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueInsertItem:beforeItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a39f1e88245e19d25d9dba86dd123056f) |
|   | A convenience method that inserts a single item into the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a39f1e88245e19d25d9dba86dd123056f) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueInsertAndPlayItem:beforeItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a812bbdf4268638cbbef90a529826122d) |
|   | A convenience method that inserts a single item into the queue and makes it the current item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a812bbdf4268638cbbef90a529826122d) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueInsertAndPlayItem:beforeItemWithID:playPosition:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#aa224ba16a1204b36a7f10db86617edc2) |
|   | A convenience method that inserts a single item into the queue and makes it the current item. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#aa224ba16a1204b36a7f10db86617edc2) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueUpdateItems:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0989ae7936c3c21cc7ada6983851843f) |
|   | Updates the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0989ae7936c3c21cc7ada6983851843f) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueUpdateItems:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab4c4aea927d9a84402ee538d7a41d8c9) |
|   | Updates the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab4c4aea927d9a84402ee538d7a41d8c9) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueRemoveItemsWithIDs:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a5b52ca936965fd964aac5a1959d849d1) |
|   | Removes a list of media items from the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a5b52ca936965fd964aac5a1959d849d1) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueRemoveItemsWithIDs:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab15d6bdab5dec231bb8bcdd88919f182) |
|   | Removes a list of media items from the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab15d6bdab5dec231bb8bcdd88919f182) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueRemoveItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#afc3922fd3ae85291ab88ef6068cbc26f) |
|   | A convenience method that removes a single item from the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#afc3922fd3ae85291ab88ef6068cbc26f) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueReorderItemsWithIDs:insertBeforeItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a8e7d50d06889504a8323ec6918fe4074) |
|   | Reorders a list of media items in the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a8e7d50d06889504a8323ec6918fe4074) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueReorderItemsWithIDs:insertBeforeItemWithID:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad9e953c9a008557ab769564ee760d514) |
|   | Reorder a list of media items in the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad9e953c9a008557ab769564ee760d514) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueMoveItemWithID:beforeItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#abb0df2bbc1bc3932d940f0c0bcba11d4) |
|   | A convenience method that moves a single item in the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#abb0df2bbc1bc3932d940f0c0bcba11d4) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueJumpToItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#af5d8e9fd28e6b6f4a37bee5ff0ce3e02) |
|   | Jumps to the item with the specified ID in the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#af5d8e9fd28e6b6f4a37bee5ff0ce3e02) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueJumpToItemWithID:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a1f0259e0db8e11657f63820749978481) |
|   | Jumps to the item with the specified ID in the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a1f0259e0db8e11657f63820749978481) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueJumpToItemWithID:playPosition:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a79ede47e8e1fb0651f25d57f876be9ea) |
|   | Jumps to the item with the specified ID in the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a79ede47e8e1fb0651f25d57f876be9ea) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueNextItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a76d0f60cbe400421858091e19bfe1cfe) |
|   | Moves to the next item in the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a76d0f60cbe400421858091e19bfe1cfe) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queuePreviousItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad4d84ed6847e49582828baecb50609fb) |
|   | Moves to the previous item in the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad4d84ed6847e49582828baecb50609fb) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [queueSetRepeatMode:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a194351ec0359298a589c8aa9a5e636f0) |
|   | Sets the queue repeat mode. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a194351ec0359298a589c8aa9a5e636f0) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [setStreamVolume:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad3bc5e408b6e9f8963f18cc88d81a390) |
|   | Sets the stream volume. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad3bc5e408b6e9f8963f18cc88d81a390) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [setStreamVolume:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#acbfc0c1bdab9b19e5b2b7e8e20062c9f) |
|   | Sets the stream volume. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#acbfc0c1bdab9b19e5b2b7e8e20062c9f) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [setStreamMuted:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a5524ba38c56d12562bedde41ebf794e7) |
|   | Sets whether the stream is muted. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a5524ba38c56d12562bedde41ebf794e7) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [setStreamMuted:customData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab215bcdd86e32682072642ccb5e9b9b1) |
|   | Sets whether the stream is muted. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab215bcdd86e32682072642ccb5e9b9b1) |
|   ||
| ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) | - [requestStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0a771dcc5a1262932b49e6649e0eb6ac) |
|   | Requests updated media status information from the receiver. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0a771dcc5a1262932b49e6649e0eb6ac) |
|   ||
| (NSTimeInterval) | - [approximateStreamPosition](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a96898ab2b4a8c25a35dbf202efe6d9c0) |
|   | Returns the approximate stream position as calculated from the last received stream information and the elapsed wall-time since that update. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a96898ab2b4a8c25a35dbf202efe6d9c0) |
|   ||
| (NSTimeInterval) | - [approximateLiveSeekableRangeStart](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0cd0f278f92562087b4bf4e066b18476) |
|   | Returns the approximate start position of seekable range as calculated from the last received stream information and the elapsed wall-time since that update. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0cd0f278f92562087b4bf4e066b18476) |
|   ||
| (NSTimeInterval) | - [approximateLiveSeekableRangeEnd](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a3d8803e1d5877231a61cd81d3542b3b7) |
|   | Returns the approximate end position of seekable range as calculated from the last received stream information and the elapsed wall-time since that update. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a3d8803e1d5877231a61cd81d3542b3b7) |
|   ||
| (void) | - [notifyDidStartMediaSession](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97fefbb773966ebebfa58cf6b6dac863) |
|   | To be called by subclasses whenever a media session begins, namely, right after new media has been successfully loaded on the remote player. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97fefbb773966ebebfa58cf6b6dac863) |
|   ||
| (void) | - [notifyDidUpdateMediaStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ac7f1aec4e434d537e71a3b90382036e4) |
|   | To be called by subclasses whenever the mediaStatus object of the client changes. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ac7f1aec4e434d537e71a3b90382036e4) |
|   ||
| (void) | - [notifyDidUpdateQueue](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad571c3a20f174c72c486cdbb6173da00) |
|   | To be called by subclasses whenever the media queue managed by the client changes. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad571c3a20f174c72c486cdbb6173da00) |
|   ||
| (void) | - [notifyDidUpdatePreloadStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab9ec9b203f46d43d25c20bf0f3a07230) |
|   | To be called by subclasses whenever the [GCKMediaStatus::preloadedItemID](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status#aca544cb983806b859c0d62c6e1438150) of the client's [GCKMediaStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status "A class that holds status information about some media. ") changes. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab9ec9b203f46d43d25c20bf0f3a07230) |
|   ||
| (void) | - [notifyDidUpdateMetadata](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a6c8dacbe8a9e7482674b5c153fbec69a) |
|   | To be called by subclasses whenever the metadata changes. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a6c8dacbe8a9e7482674b5c153fbec69a) |
|   ||
| (void) | - [notifyDidReceiveQueueItemIDs:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a76fdd755adcbcd5bc3dca7189a350da0) |
|   | To be called by subclasses whenever the list of media queue item IDs is received. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a76fdd755adcbcd5bc3dca7189a350da0) |
|   ||
| (void) | - [notifyDidInsertQueueItemsWithIDs:beforeItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0880cd6996dda0e67185a596b734ac5f) |
|   | To be called by subclasses whenever a contiguous sequence of queue items has been inserted into the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0880cd6996dda0e67185a596b734ac5f) |
|   ||
| (void) | - [notifyDidUpdateQueueItemsWithIDs:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a5e7edf8b0e1928c247b3b5166b237e36) |
|   | To be called by subclasses whenever existing queue items have been updated in the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a5e7edf8b0e1928c247b3b5166b237e36) |
|   ||
| (void) | - [notifyDidRemoveQueueItemsWithIDs:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a3c6a31cb888664f9a97cc45cd6dd6b6c) |
|   | To be called by subclasses whenever a contiguous sequence of queue items has been removed from the queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a3c6a31cb888664f9a97cc45cd6dd6b6c) |
|   ||
| (void) | - [notifyDidReceiveQueueItems:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab08d9fab5ea1c97373347e346940fe16) |
|   | To be called by a subclass whenever queue items have been received. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab08d9fab5ea1c97373347e346940fe16) |
|   ||

|---|---|
| ## Property Summary ||
| BOOL | [connected](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#abee4bdb494ffa726a9a8ce4fdf6650eb) |
|   | A flag that indicates whether this object is connected to a session. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#abee4bdb494ffa726a9a8ce4fdf6650eb) |
|   ||
| [GCKMediaStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status) \* | [mediaStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a8b7c15e5926ea680b8fda7a088f138aa) |
|   | The current media status, as reported by the media control channel. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a8b7c15e5926ea680b8fda7a088f138aa) |
|   ||
| [GCKMediaQueue](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue) \* | [mediaQueue](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ac727809279ab7c8ea8e47dbe4c2b9d2a) |
|   | The media queue. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ac727809279ab7c8ea8e47dbe4c2b9d2a) |
|   ||
| NSTimeInterval | [timeSinceLastMediaStatusUpdate](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0f1be6d1ba55cba7511b302c1a623be2) |
|   | The amount of time that has passed since the last media status update was received. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0f1be6d1ba55cba7511b302c1a623be2) |
|   ||
| BOOL | [playingLiveStream](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a95ed1475489c055d1e8a3e95778af738) |
|   | A flag that indicates whether this client is playing a live stream. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a95ed1475489c055d1e8a3e95778af738) |
|   ||
| id \< [GCKRemoteMediaClientAdInfoParserDelegate](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_remote_media_client_ad_info_parser_delegate-p) \> | [adInfoParserDelegate](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a6f7b36ed65004697cc2d504b55d47322) |
|   | A delegate capable of extracting ad break information from the custom data in a [GCKMediaStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status "A class that holds status information about some media. ") object. [More...](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a6f7b36ed65004697cc2d504b55d47322) |
|   ||

## Method Detail

|---|---|---|---|---|
| - (void) addListener: |   | (id\< [GCKRemoteMediaClientListener](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_remote_media_client_listener-p) \>) | *listener* |   |

Adds a listener to this object's list of listeners.

The added listener is weakly held, and should be retained to avoid unexpected deallocation.

Parameters
:

    |---|---|
    | listener | The listener to add. |


|---|---|---|---|---|
| - (void) removeListener: |   | (id\< [GCKRemoteMediaClientListener](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_remote_media_client_listener-p) \>) | *listener* |   |

Removes a listener from this object's list of listeners.

Parameters
:

    |---|---|
    | listener | The listener to remove. |


|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) loadMediaWithLoadRequestData: |   | ([GCKMediaLoadRequestData](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_load_request_data) \*) | *requestData* |   |

Loads and starts playback of a media item or a queue of media items with a request data.

Parameters
:

    |---|---|
    | requestData | Describes the media load request. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

Since
:   4.4.1

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) loadMedia: |   | ([GCKMediaInformation](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_information) \*) | *mediaInfo* |   |

Loads and starts playback of a new media item with default options.

It is recommended to use [loadMediaWithLoadRequestData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a98ef1f2e311392331fb1deb68d91f6ce) instead, which is an advanced load command supporting loading a single item or a queue with additional options.

Parameters
:

    |---|---|
    | mediaInfo | Describes the media item to load. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [loadMedia:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97e342a94b88b1b6c80af53f63fb8eb3) |   | ([GCKMediaInformation](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_information) \*) | *mediaInfo* |
| withOptions: |   | ([GCKMediaLoadOptions](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_load_options) \*) | *options* |
|   |   |   |   |

Loads and starts playback of a new media item with the specified options.

It is recommended to use [loadMediaWithLoadRequestData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a98ef1f2e311392331fb1deb68d91f6ce) instead, which is an advanced load command supporting loading a single item or a queue with additional options.

Parameters
:

    |---|---|
    | mediaInfo | Describes the media item to load. |
    | options | The load options for this request. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

Since
:   4.0

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [loadMedia:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97e342a94b88b1b6c80af53f63fb8eb3) |   | ([GCKMediaInformation](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_information) \*) | *mediaInfo* |
| autoplay: |   | (BOOL) | *autoplay* |
|   |   |   |   |

Loads and optionally starts playback of a new media item.

Parameters
:

    |---|---|
    | mediaInfo | Describes the media item to load. |
    | autoplay | Whether playback should start immediately. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000025)**
:   Use loadMediaWithLoadRequestData:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [loadMedia:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97e342a94b88b1b6c80af53f63fb8eb3) |   | ([GCKMediaInformation](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_information) \*) | *mediaInfo* |
| autoplay: |   | (BOOL) | *autoplay* |
| playPosition: |   | (NSTimeInterval) | *playPosition* |
|   |   |   |   |

Loads and optionally starts playback of a new media item.

Parameters
:

    |---|---|
    | mediaInfo | Describes the media item to load. |
    | autoplay | Whether playback should start immediately. |
    | playPosition | The initial playback position. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000026)**
:   Use loadMediaWithLoadRequestData:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [loadMedia:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97e342a94b88b1b6c80af53f63fb8eb3) |   | ([GCKMediaInformation](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_information) \*) | *mediaInfo* |
| autoplay: |   | (BOOL) | *autoplay* |
| playPosition: |   | (NSTimeInterval) | *playPosition* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Loads and optionally starts playback of a new media item.

Parameters
:

    |---|---|
    | mediaInfo | Describes the media item to load. |
    | autoplay | Whether playback should start immediately. |
    | playPosition | The initial playback position. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000027)**
:   Use loadMediaWithLoadRequestData:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [loadMedia:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97e342a94b88b1b6c80af53f63fb8eb3) |   | ([GCKMediaInformation](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_information) \*) | *mediaInfo* |
| autoplay: |   | (BOOL) | *autoplay* |
| playPosition: |   | (NSTimeInterval) | *playPosition* |
| activeTrackIDs: |   | (nullable NSArray\< NSNumber \* \> \*) | *activeTrackIDs* |
|   |   |   |   |

Loads and optionally starts playback of a new media item.

Parameters
:

    |---|---|
    | mediaInfo | Describes the media item to load. |
    | autoplay | Whether playback should start immediately. |
    | playPosition | The initial playback position. |
    | activeTrackIDs | An array of integers specifying the active tracks. May be `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000028)**
:   Use loadMediaWithLoadRequestData:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [loadMedia:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a97e342a94b88b1b6c80af53f63fb8eb3) |   | ([GCKMediaInformation](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_information) \*) | *mediaInfo* |
| autoplay: |   | (BOOL) | *autoplay* |
| playPosition: |   | (NSTimeInterval) | *playPosition* |
| activeTrackIDs: |   | (nullable NSArray\< NSNumber \* \> \*) | *activeTrackIDs* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Loads and optionally starts playback of a new media item.

Parameters
:

    |---|---|
    | mediaInfo | Describes the media item to load. |
    | autoplay | Whether playback should start immediately. |
    | playPosition | The initial playback position. |
    | activeTrackIDs | An array of integers specifying the active tracks. May be `nil`. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000029)**
:   Use loadMediaWithLoadRequestData:.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) setPlaybackRate: |   | (float) | *playbackRate* |   |

Sets the playback rate for the current media session.

Parameters
:

    |---|---|
    | playbackRate | The new playback rate. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

Since
:   4.0

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [setPlaybackRate:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ab64e42df31cef080b147a4663a4c2a6d) |   | (float) | *playbackRate* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Sets the playback rate for the current media session.

Parameters
:

    |---|---|
    | playbackRate | The new playback rate, which must be between GCKMediaLoadOptions::kGCKMediaMinPlaybackRate and GCKMediaLoadOptions::kGCKMediaMaxPlaybackRate. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

Since
:   4.0

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) setActiveTrackIDs: |   | (nullable NSArray\< NSNumber \* \> \*) | *activeTrackIDs* |   |

Sets the active tracks.

The request will fail if there is no current media status.

Parameters
:

    |---|---|
    | activeTrackIDs | An array of integers specifying the active tracks. May be empty or `nil` to disable any currently active tracks. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) setTextTrackStyle: |   | (nullable [GCKMediaTextTrackStyle](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_text_track_style) \*) | *textTrackStyle* |   |

Sets the text track style.

The request will fail if there is no current media status.

Parameters
:

    |---|---|
    | textTrackStyle | The text track style. The style will not be changed if this is `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) pause |   |   |   |

Pauses playback of the current media item.

The request will fail if there is no current media status.

Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) pauseWithCustomData: |   | (nullable id) | *customData* |   |

Pauses playback of the current media item.

The request will fail if there is no current media status.

Parameters
:

    |---|---|
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) stop |   |   |   |

Stops playback of the current media item.

If a queue is currently loaded, it will be removed. The request will fail if there is no current media status.

Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) stopWithCustomData: |   | (nullable id) | *customData* |   |

Stops playback of the current media item.

If a queue is currently loaded, it will be removed. The request will fail if there is no current media status.

Parameters
:

    |---|---|
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) play |   |   |   |

Begins (or resumes) playback of the current media item.

Playback always begins at the beginning of the stream. The request will fail if there is no current media status.

Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) playWithCustomData: |   | (nullable id) | *customData* |   |

Begins (or resumes) playback of the current media item.

Playback always begins at the beginning of the stream. The request will fail if there is no current media status.

Parameters
:

    |---|---|
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) skipAd |   |   |   |

Sends a request to skip the playing ad.

Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

Since
:   4.3

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) seekWithOptions: |   | ([GCKMediaSeekOptions](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_seek_options) \*) | *options* |   |

Seeks to a new position within the current media item.

The request will fail if there is no current media status.

Parameters
:

    |---|---|
    | options | The seek options for the request. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

Since
:   4.0

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) seekToTimeInterval: |   | (NSTimeInterval) | *position* |   |

Seeks to a new position within the current media item.

The request will fail if there is no current media status.

Parameters
:

    |---|---|
    | position | The new position from the beginning of the stream. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000030)**
:   Use seekWithOptions:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [seekToTimeInterval:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a53a3c31fb3ba10ebaf10a583bb1a60c0) |   | (NSTimeInterval) | *position* |
| resumeState: |   | (GCKMediaResumeState) | *resumeState* |
|   |   |   |   |

Seeks to a new position within the current media item.

The request will fail if there is no current media status.

Parameters
:

    |---|---|
    | position | The new position interval from the beginning of the stream. |
    | resumeState | The action to take after the seek operation has finished. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000031)**
:   Use seekWithOptions:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [seekToTimeInterval:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a53a3c31fb3ba10ebaf10a583bb1a60c0) |   | (NSTimeInterval) | *position* |
| resumeState: |   | (GCKMediaResumeState) | *resumeState* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Seeks to a new position within the current media item.

The request will fail if there is no current media status.

Parameters
:

    |---|---|
    | position | The new position from the beginning of the stream. |
    | resumeState | The action to take after the seek operation has finished. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000032)**
:   Use seekWithOptions:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueFetchItemIDs |   |   |   |

Requests the list of item IDs for the queue.

The results are passed to the delegate callback GCKRemoteMediaClientDelegate::remoteMediaClient:didReceiveQueueItemIDs:.

Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

Since
:   4.1

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueFetchItemsForIDs: |   | (NSArray\< NSNumber \* \> \*) | *queueItemIDs* |   |

Requests complete information for the queue items with the given item IDs.

The results are passed to the delegate callback GCKRemoteMediaClientDelegate::remoteMediaClient:didReceiveQueueItems:.

Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

Since
:   4.1

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueLoadItems: |   | (NSArray\< [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \* \> \*) | *queueItems* |
| startIndex: |   | (NSUInteger) | *startIndex* |
| repeatMode: |   | ([GCKMediaRepeatMode](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_common_8h#aad72b610da8ac7e1785975bd5f251406)) | *repeatMode* |
|   |   |   |   |

Loads and optionally starts playback of a new queue of media items.

Parameters
:

    |---|---|
    | queueItems | An array of [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") instances to load. Must not be `nil` or empty. |
    | startIndex | The index of the item in the items array that should be played first. |
    | repeatMode | The repeat mode for playing the queue. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000033)**
:   Use loadMediaWithLoadRequestData:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueLoadItems: |   | (NSArray\< [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \* \> \*) | *queueItems* |
| startIndex: |   | (NSUInteger) | *startIndex* |
| repeatMode: |   | ([GCKMediaRepeatMode](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_common_8h#aad72b610da8ac7e1785975bd5f251406)) | *repeatMode* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Loads and optionally starts playback of a new queue of media items.

Parameters
:

    |---|---|
    | queueItems | An array of [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") instances to load. Must not be `nil` or empty. |
    | startIndex | The index of the item in the items array that should be played first. |
    | repeatMode | The repeat mode for playing the queue. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000034)**
:   Use loadMediaWithLoadRequestData:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueLoadItems: |   | (NSArray\< [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \* \> \*) | *queueItems* |
| startIndex: |   | (NSUInteger) | *startIndex* |
| playPosition: |   | (NSTimeInterval) | *playPosition* |
| repeatMode: |   | ([GCKMediaRepeatMode](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_common_8h#aad72b610da8ac7e1785975bd5f251406)) | *repeatMode* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Loads and optionally starts playback of a new queue of media items.

Parameters
:

    |---|---|
    | queueItems | An array of [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") instances to load. Must not be `nil` or empty. |
    | startIndex | The index of the item in the items array that should be played first. |
    | playPosition | The initial playback position for the item when it is first played, relative to the beginning of the stream. This value is ignored when the same item is played again, for example when the queue repeats, or the item is later jumped to. In those cases the item's startTime is used. |
    | repeatMode | The repeat mode for playing the queue. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000035)**
:   Use loadMediaWithLoadRequestData:.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueLoadItems: |   | (NSArray\< [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \* \> \*) | *queueItems* |
| withOptions: |   | ([GCKMediaQueueLoadOptions](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_load_options) \*) | *options* |
|   |   |   |   |

Loads and optionally starts playback of a new queue of media items.

It is recommended to use [loadMediaWithLoadRequestData:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a98ef1f2e311392331fb1deb68d91f6ce) instead, which is an advanced load command supporting loading a single item or a queue with additional options.

Parameters
:

    |---|---|
    | queueItems | An array of [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") instances to load. Must not be `nil` or empty. |
    | options | The load options used to load the queue items, as defined by [GCKMediaQueueLoadOptions](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_load_options "Options for loading media queue items with GCKRemoteMediaClient. ") |


Since
:   4.3.1

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueInsertItems: |   | (NSArray\< [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \* \> \*) | *queueItems* |
| beforeItemWithID: |   | (NSUInteger) | *beforeItemID* |
|   |   |   |   |

Inserts a list of new media items into the queue.

Parameters
:

    |---|---|
    | queueItems | An array of [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") instances to insert. Must not be `nil` or empty. |
    | beforeItemID | The ID of the item that will be located immediately after the inserted list. If the value is [kGCKMediaQueueInvalidItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#a200e0d20acf51d47ce1c90ae982bd4e5), the inserted list will be appended to the end of the queue. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueInsertItems: |   | (NSArray\< [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \* \> \*) | *queueItems* |
| beforeItemWithID: |   | (NSUInteger) | *beforeItemID* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Inserts a list of new media items into the queue.

Parameters
:

    |---|---|
    | queueItems | An array of [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") instances to insert. Must not be `nil` or empty. |
    | beforeItemID | ID of the item that will be located immediately after the inserted list. If the value is [kGCKMediaQueueInvalidItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#a200e0d20acf51d47ce1c90ae982bd4e5), the inserted list will be appended to the end of the queue. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueInsertItem: |   | ([GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \*) | *item* |
| beforeItemWithID: |   | (NSUInteger) | *beforeItemID* |
|   |   |   |   |

A convenience method that inserts a single item into the queue.

Parameters
:

    |---|---|
    | item | The item to insert. |
    | beforeItemID | The ID of the item that will be located immediately after the inserted item. If the value is [kGCKMediaQueueInvalidItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#a200e0d20acf51d47ce1c90ae982bd4e5), or does not refer to any item currently in the queue, the inserted item will be appended to the end of the queue. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueInsertAndPlayItem: |   | ([GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \*) | *item* |
| beforeItemWithID: |   | (NSUInteger) | *beforeItemID* |
|   |   |   |   |

A convenience method that inserts a single item into the queue and makes it the current item.

Parameters
:

    |---|---|
    | item | The item to insert. |
    | beforeItemID | The ID of the item that will be located immediately after the inserted item. If the value is [kGCKMediaQueueInvalidItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#a200e0d20acf51d47ce1c90ae982bd4e5), or does not refer to any item currently in the queue, the inserted item will be appended to the end of the queue. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueInsertAndPlayItem: |   | ([GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \*) | *item* |
| beforeItemWithID: |   | (NSUInteger) | *beforeItemID* |
| playPosition: |   | (NSTimeInterval) | *playPosition* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

A convenience method that inserts a single item into the queue and makes it the current item.

Parameters
:

    |---|---|
    | item | The item to insert. |
    | beforeItemID | The ID of the item that will be located immediately after the inserted item. If the value is [kGCKMediaQueueInvalidItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#a200e0d20acf51d47ce1c90ae982bd4e5), or does not refer to any item currently in the queue, the inserted item will be appended to the end of the queue. |
    | playPosition | The initial playback position for the item when it is first played, relative to the beginning of the stream. This value is ignored when the same item is played again, for example when the queue repeats, or the item is later jumped to. In those cases the item's startTime is used. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueUpdateItems: |   | (NSArray\< [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \* \> \*) | *queueItems* |   |

Updates the queue.

Parameters
:

    |---|---|
    | queueItems | The list of updated items. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [queueUpdateItems:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a0989ae7936c3c21cc7ada6983851843f) |   | (NSArray\< [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \* \> \*) | *queueItems* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Updates the queue.

Parameters
:

    |---|---|
    | queueItems | The list of updated items. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueRemoveItemsWithIDs: |   | (NSArray\< NSNumber \* \> \*) | *itemIDs* |   |

Removes a list of media items from the queue.

If the queue becomes empty as a result, the current media session will be terminated.

Parameters
:

    |---|---|
    | itemIDs | An array of media item IDs identifying the items to remove. Must not be `nil` or empty. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [queueRemoveItemsWithIDs:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a5b52ca936965fd964aac5a1959d849d1) |   | (NSArray\< NSNumber \* \> \*) | *itemIDs* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Removes a list of media items from the queue.

If the queue becomes empty as a result, the current media session will be terminated.

Parameters
:

    |---|---|
    | itemIDs | An array of media item IDs identifying the items to remove. Must not be `nil` or empty. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueRemoveItemWithID: |   | (NSUInteger) | *itemID* |   |

A convenience method that removes a single item from the queue.

Parameters
:

    |---|---|
    | itemID | The ID of the item to remove. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueReorderItemsWithIDs: |   | (NSArray\< NSNumber \* \> \*) | *queueItemIDs* |
| insertBeforeItemWithID: |   | (NSUInteger) | *beforeItemID* |
|   |   |   |   |

Reorders a list of media items in the queue.

Parameters
:

    |---|---|
    | queueItemIDs | An array of media item IDs identifying the items to reorder. Must not be `nil` or empty. |
    | beforeItemID | ID of the item that will be located immediately after the reordered list. If the value is [kGCKMediaQueueInvalidItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#a200e0d20acf51d47ce1c90ae982bd4e5), or does not refer to any item currently in the queue, the reordered list will be appended at the end of the queue. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueReorderItemsWithIDs: |   | (NSArray\< NSNumber \* \> \*) | *queueItemIDs* |
| insertBeforeItemWithID: |   | (NSUInteger) | *beforeItemID* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Reorder a list of media items in the queue.

Parameters
:

    |---|---|
    | queueItemIDs | An array of media item IDs identifying the items to reorder. Must not be `nil` or empty. |
    | beforeItemID | The ID of the item that will be located immediately after the reordered list. If the value is [kGCKMediaQueueInvalidItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#a200e0d20acf51d47ce1c90ae982bd4e5), or does not refer to any item currently in the queue, the reordered list will be moved to the end of the queue. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueMoveItemWithID: |   | (NSUInteger) | *itemID* |
| beforeItemWithID: |   | (NSUInteger) | *beforeItemID* |
|   |   |   |   |

A convenience method that moves a single item in the queue.

Parameters
:

    |---|---|
    | itemID | The ID of the item to move. |
    | beforeItemID | The ID of the item that will be located immediately after the reordered list. If the value is [kGCKMediaQueueInvalidItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#a200e0d20acf51d47ce1c90ae982bd4e5), or does not refer to any item currently in the queue, the item will be moved to the end of the queue. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueJumpToItemWithID: |   | (NSUInteger) | *itemID* |   |

Jumps to the item with the specified ID in the queue.

Parameters
:

    |---|---|
    | itemID | The ID of the item to jump to. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [queueJumpToItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#af5d8e9fd28e6b6f4a37bee5ff0ce3e02) |   | (NSUInteger) | *itemID* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Jumps to the item with the specified ID in the queue.

Parameters
:

    |---|---|
    | itemID | The ID of the item to jump to. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [queueJumpToItemWithID:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#af5d8e9fd28e6b6f4a37bee5ff0ce3e02) |   | (NSUInteger) | *itemID* |
| playPosition: |   | (NSTimeInterval) | *playPosition* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Jumps to the item with the specified ID in the queue.

Parameters
:

    |---|---|
    | itemID | The ID of the item to jump to. |
    | playPosition | The initial playback position for the item when it is first played, relative to the beginning of the stream. This value is ignored when the same item is played again, for example when the queue repeats, or the item is later jumped to. In those cases the item's startTime is used. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueNextItem |   |   |   |

Moves to the next item in the queue.

Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queuePreviousItem |   |   |   |

Moves to the previous item in the queue.

Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) queueSetRepeatMode: |   | ([GCKMediaRepeatMode](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_common_8h#aad72b610da8ac7e1785975bd5f251406)) | *repeatMode* |   |

Sets the queue repeat mode.

Parameters
:

    |---|---|
    | repeatMode | The new repeat mode. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) setStreamVolume: |   | (float) | *volume* |   |

Sets the stream volume.

The request will fail if there is no current media session.

Parameters
:

    |---|---|
    | volume | The new volume, in the range \[0.0 - 1.0\]. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [setStreamVolume:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#ad3bc5e408b6e9f8963f18cc88d81a390) |   | (float) | *volume* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Sets the stream volume.

The request will fail if there is no current media session.

Parameters
:

    |---|---|
    | volume | The new volume, in the range \[0.0 - 1.0\]. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) setStreamMuted: |   | (BOOL) | *muted* |   |

Sets whether the stream is muted.

The request will fail if there is no current media session.

Parameters
:

    |---|---|
    | muted | Whether the stream should be muted or unmuted. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) [setStreamMuted:](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_remote_media_client#a5524ba38c56d12562bedde41ebf794e7) |   | (BOOL) | *muted* |
| customData: |   | (nullable id) | *customData* |
|   |   |   |   |

Sets whether the stream is muted.

The request will fail if there is no current media session.

Parameters
:

    |---|---|
    | muted | Whether the stream should be muted or unmuted. |
    | customData | Custom application-specific data to pass along with the request. Must either be an object that can be serialized to JSON using [**NSJSONSerialization**](https://goo.gl/0vd4Q2), or `nil`. |


Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - ([GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request) \*) requestStatus |   |   |   |

Requests updated media status information from the receiver.

Returns
:   The [GCKRequest](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_request "An object for tracking an asynchronous request. ") object for tracking this request.

|---|---|---|---|
| - (NSTimeInterval) approximateStreamPosition |   |   |   |

Returns the approximate stream position as calculated from the last received stream information and the elapsed wall-time since that update.

Returns 0 if the channel is not connected or if no media is currently loaded.

|---|---|---|---|
| - (NSTimeInterval) approximateLiveSeekableRangeStart |   |   |   |

Returns the approximate start position of seekable range as calculated from the last received stream information and the elapsed wall-time since that update.

Returns 0 if the channel is not connected or if no media is currently loaded. Returns `kGCKInvalidTimeInterval` if the stream is not live stream or there is no seekable range.

Since
:   4.4.1

|---|---|---|---|
| - (NSTimeInterval) approximateLiveSeekableRangeEnd |   |   |   |

Returns the approximate end position of seekable range as calculated from the last received stream information and the elapsed wall-time since that update.

Returns 0 if the channel is not connected or if no media is currently loaded. Returns `kGCKInvalidTimeInterval` if the stream is not live stream or there is no seekable range.

Since
:   4.4.1

|---|---|---|---|
| - (void) notifyDidStartMediaSession |   |   |   |

To be called by subclasses whenever a media session begins, namely, right after new media has been successfully loaded on the remote player.

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#a97fefbb773966ebebfa58cf6b6dac863).

|---|---|---|---|
| - (void) notifyDidUpdateMediaStatus |   |   |   |

To be called by subclasses whenever the mediaStatus object of the client changes.

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#ac7f1aec4e434d537e71a3b90382036e4).

|---|---|---|---|
| - (void) notifyDidUpdateQueue |   |   |   |

To be called by subclasses whenever the media queue managed by the client changes.

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#ad571c3a20f174c72c486cdbb6173da00).

|---|---|---|---|
| - (void) notifyDidUpdatePreloadStatus |   |   |   |

To be called by subclasses whenever the [GCKMediaStatus::preloadedItemID](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status#aca544cb983806b859c0d62c6e1438150) of the client's [GCKMediaStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status "A class that holds status information about some media. ") changes.

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#ab9ec9b203f46d43d25c20bf0f3a07230).

|---|---|---|---|
| - (void) notifyDidUpdateMetadata |   |   |   |

To be called by subclasses whenever the metadata changes.

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#a6c8dacbe8a9e7482674b5c153fbec69a).

|---|---|---|---|---|
| - (void) notifyDidReceiveQueueItemIDs: |   | (NSArray\< NSNumber \* \> \*) | *itemIDs* |   |

To be called by subclasses whenever the list of media queue item IDs is received.

Parameters
:

    |---|---|
    | itemIDs | The list of queue item IDs. |


Since
:   4.1

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#a76fdd755adcbcd5bc3dca7189a350da0).

|---|---|---|---|
| - (void) notifyDidInsertQueueItemsWithIDs: |   | (NSArray\< NSNumber \* \> \*) | *itemIDs* |
| beforeItemWithID: |   | ([GCKMediaQueueItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#ac3134c82d5f66be29b2a674059fbefd8)) | *beforeItemID* |
|   |   |   |   |

To be called by subclasses whenever a contiguous sequence of queue items has been inserted into the queue.

Parameters
:

    |---|---|
    | itemIDs | The list of queue item IDs identifying the items that were inserted. |
    | beforeItemID | The ID of the queue item in front of which the new items were inserted, or kGCKInvalidQueueItemID if the items were appended to the end of the queue. |


Since
:   4.1

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#a0880cd6996dda0e67185a596b734ac5f).

|---|---|---|---|---|
| - (void) notifyDidUpdateQueueItemsWithIDs: |   | (NSArray\< NSNumber \* \> \*) | *itemIDs* |   |

To be called by subclasses whenever existing queue items have been updated in the queue.

Parameters
:

    |---|---|
    | itemIDs | The list of queue item IDs identifying the items that were updated. |


Since
:   4.1

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#a5e7edf8b0e1928c247b3b5166b237e36).

|---|---|---|---|---|
| - (void) notifyDidRemoveQueueItemsWithIDs: |   | (NSArray\< NSNumber \* \> \*) | *itemIDs* |   |

To be called by subclasses whenever a contiguous sequence of queue items has been removed from the queue.

Parameters
:

    |---|---|
    | itemIDs | The list of queue item IDs identifying the items that were removed. |


Since
:   4.1

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#a3c6a31cb888664f9a97cc45cd6dd6b6c).

|---|---|---|---|---|
| - (void) notifyDidReceiveQueueItems: |   | (NSArray\< [GCKMediaQueueItem](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue_item) \* \> \*) | *items* |   |

To be called by a subclass whenever queue items have been received.

Parameters
:

    |---|---|
    | items | The list of queue items. |


Since
:   4.1

Provided by category [GCKRemoteMediaClient(Protected)](https://developers.google.com/cast/docs/reference/ios/category_g_c_k_remote_media_client_07_protected_08#ab08d9fab5ea1c97373347e346940fe16).

## Property Detail

|---|---|
| |---| | - (BOOL) connected | | readnonatomicassign |

A flag that indicates whether this object is connected to a session.

|---|---|
| |---| | - ([GCKMediaStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status)\*) mediaStatus | | readnonatomicstrong |

The current media status, as reported by the media control channel.

|---|---|
| |---| | - ([GCKMediaQueue](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_queue)\*) mediaQueue | | readnonatomicstrong |

The media queue.

Since
:   4.3.4

|---|---|
| |---| | - (NSTimeInterval) timeSinceLastMediaStatusUpdate | | readnonatomicassign |

The amount of time that has passed since the last media status update was received.

If a media status has not been received yet this value will be NAN.

|---|---|
| |---| | - (BOOL) playingLiveStream | | readnonatomicassign |

A flag that indicates whether this client is playing a live stream.

Since
:   4.4.1

|---|---|
| |---| | - (id\<[GCKRemoteMediaClientAdInfoParserDelegate](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_remote_media_client_ad_info_parser_delegate-p)\>) adInfoParserDelegate | | readwritenonatomicweak |

A delegate capable of extracting ad break information from the custom data in a [GCKMediaStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status "A class that holds status information about some media. ") object.

**[Deprecated:](https://developers.google.com/cast/docs/reference/ios/deprecated#_deprecated000024)**
:   Use [GCKAdBreakStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_ad_break_status "A class representing the ad break status. ") instead.