# &lt;GCKUIMediaControllerDelegate&gt; Protocol

[Instance Methods](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_u_i_media_controller_delegate-p#pub-methods) \<GCKUIMediaControllerDelegate\> Protocol Reference

## Overview

The [GCKUIMediaController](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller "A controller for UI views that are used to control or display the status of media playback on a Cast ...") delegate protocol.

Since
:   3.0

Inherits \<NSObjectNSObject\>.

|---|---|
| ## Instance Method Summary ||
| (void) | - [mediaController:didUpdatePlayerState:lastStreamPosition:](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_u_i_media_controller_delegate-p#aa45e0251c5fdbc9998d2f60f26143109) |
|   | Called when the remote media player state has changed. [More...](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_u_i_media_controller_delegate-p#aa45e0251c5fdbc9998d2f60f26143109) |
|   ||
| (void) | - [mediaController:didBeginPreloadForItemID:](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_u_i_media_controller_delegate-p#a15ea5c310adb01666667a5aff4bf0498) |
|   | Called when preloading has started for an upcoming media queue item. [More...](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_u_i_media_controller_delegate-p#a15ea5c310adb01666667a5aff4bf0498) |
|   ||
| (void) | - [mediaController:didUpdateMediaStatus:](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_u_i_media_controller_delegate-p#a7f3fe7279e40be1dae92405b76cbd2a7) |
|   | Called when new media status has been received from the receiver, and after the [GCKUIMediaController](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller "A controller for UI views that are used to control or display the status of media playback on a Cast ...") has finished processing the updated status. [More...](https://developers.google.com/cast/docs/reference/ios/protocol_g_c_k_u_i_media_controller_delegate-p#a7f3fe7279e40be1dae92405b76cbd2a7) |
|   ||

## Method Detail

|---|---|
| |---|---|---|---| | - (void) mediaController: |   | ([GCKUIMediaController](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller) \*) | *mediaController* | | didUpdatePlayerState: |   | (GCKMediaPlayerState) | *playerState* | | lastStreamPosition: |   | (NSTimeInterval) | *streamPosition* | |   |   |   |   | | optional |

Called when the remote media player state has changed.

Parameters
:

    |---|---|
    | mediaController | The [GCKUIMediaController](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller "A controller for UI views that are used to control or display the status of media playback on a Cast ...") instance. |
    | playerState | The new player state. |
    | streamPosition | The last known stream position at the time of the player state change. |


|---|---|
| |---|---|---|---| | - (void) mediaController: |   | ([GCKUIMediaController](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller) \*) | *mediaController* | | didBeginPreloadForItemID: |   | (NSUInteger) | *itemID* | |   |   |   |   | | optional |

Called when preloading has started for an upcoming media queue item.

Parameters
:

    |---|---|
    | mediaController | The [GCKUIMediaController](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller "A controller for UI views that are used to control or display the status of media playback on a Cast ...") instance. |
    | itemID | The ID of the item that is being preloaded, or [kGCKMediaQueueInvalidItemID](https://developers.google.com/cast/docs/reference/ios/g_c_k_media_queue_item_8h#a200e0d20acf51d47ce1c90ae982bd4e5) if none. |


|---|---|
| |---|---|---|---| | - (void) mediaController: |   | ([GCKUIMediaController](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller) \*) | *mediaController* | | didUpdateMediaStatus: |   | ([GCKMediaStatus](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_media_status) \*) | *mediaStatus* | |   |   |   |   | | optional |

Called when new media status has been received from the receiver, and after the [GCKUIMediaController](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller "A controller for UI views that are used to control or display the status of media playback on a Cast ...") has finished processing the updated status.

Parameters
:

    |---|---|
    | mediaController | The [GCKUIMediaController](https://developers.google.com/cast/docs/reference/ios/interface_g_c_k_u_i_media_controller "A controller for UI views that are used to control or display the status of media playback on a Cast ...") instance. |
    | mediaStatus | The new media status. |