# GCKMediaQueueItemBuilder Class

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

## Overview

A builder object for constructing new or derived [GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") instances.

The builder may be used to derive a [GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") from an existing one:
[GCKMediaQueueItemBuilder](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder) \*builder = \[\[[GCKMediaQueueItemBuilder](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder) alloc\] initWithMediaQueueItem:originalItem\];builder.[startTime](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a945aa0ad608f9d3dc0b5f859b7985896) = 10; // Change the start time.builder.[autoplay](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a75a6db1558d71de4d23bc4144af251d4) = NO; // Change the autoplay flag.[GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item) \*derivedItem = \[builder [build](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a00f0d6bf945b7d13abcc93c31919d8bb)\];

It can also be used to construct a new [GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") from scratch:
[GCKMediaQueueItemBuilder](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder) \*builder = \[\[[GCKMediaQueueItemBuilder](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder) alloc\] [init](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#acdd8bc7a6caeb0c58cba5feaf01e1c84)\];builder.[mediaInformation](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#af301d5b9fcc05a3f734ad2ca73c34f8e) = ...;builder.[autoplay](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a75a6db1558d71de4d23bc4144af251d4) = ...;// Set all other desired propreties...[GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item) \*newItem = \[builder [build](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a00f0d6bf945b7d13abcc93c31919d8bb)\];

Inherits NSObject.

|---|---|
| ## Instance Method Summary ||
| (instancetype) | - [init](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#acdd8bc7a6caeb0c58cba5feaf01e1c84) |
|   | Constructs a new [GCKMediaQueueItemBuilder](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder "A builder object for constructing new or derived GCKMediaQueueItem instances. ") with attributes initialized to default values. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#acdd8bc7a6caeb0c58cba5feaf01e1c84) |
|   ||
| (instancetype) | - [initWithMediaQueueItem:](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a06d376c06529b14679efccb8764793e5) |
|   | Constructs a new [GCKMediaQueueItemBuilder](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder "A builder object for constructing new or derived GCKMediaQueueItem instances. ") with attributes copied from the given [GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. "), including the item ID. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a06d376c06529b14679efccb8764793e5) |
|   ||
| ([GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item) \*) | - [build](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a00f0d6bf945b7d13abcc93c31919d8bb) |
|   | Builds a [GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") using the builder's current attributes. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a00f0d6bf945b7d13abcc93c31919d8bb) |
|   ||

|---|---|
| ## Property Summary ||
| [GCKMediaInformation](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_information) \* | [mediaInformation](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#af301d5b9fcc05a3f734ad2ca73c34f8e) |
|   | The media information associated with this item. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#af301d5b9fcc05a3f734ad2ca73c34f8e) |
|   ||
| BOOL | [autoplay](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a75a6db1558d71de4d23bc4144af251d4) |
|   | Whether the item should automatically start playback when it becomes the current item in the queue. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a75a6db1558d71de4d23bc4144af251d4) |
|   ||
| NSTimeInterval | [startTime](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a945aa0ad608f9d3dc0b5f859b7985896) |
|   | The start time of the item, in seconds. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a945aa0ad608f9d3dc0b5f859b7985896) |
|   ||
| NSTimeInterval | [playbackDuration](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#af1dc8c1c5a46aa6b010d02a807e283ce) |
|   | The playback duration for the item, in seconds, or `INFINITY` if the stream's actual duration should be used. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#af1dc8c1c5a46aa6b010d02a807e283ce) |
|   ||
| NSTimeInterval | [preloadTime](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a9d1ec806540b6409498f6bd5eb42a499) |
|   | How long before the previous item ends, in seconds, before the receiver should start preloading this item. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a9d1ec806540b6409498f6bd5eb42a499) |
|   ||
| NSArray\< NSNumber \* \> \* | [activeTrackIDs](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a2e8b0c3645701e299ccf6db2ed6a1cc2) |
|   | The active track IDs for this item. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a2e8b0c3645701e299ccf6db2ed6a1cc2) |
|   ||
| id | [customData](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a708c9f303c536f48e7bc4f188cbf06c1) |
|   | The custom data associated with this item, if any. [More...](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder#a708c9f303c536f48e7bc4f188cbf06c1) |
|   ||

## Method Detail

|---|---|---|---|
| - (instancetype) init |   |   |   |

Constructs a new [GCKMediaQueueItemBuilder](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder "A builder object for constructing new or derived GCKMediaQueueItem instances. ") with attributes initialized to default values.

|---|---|---|---|---|
| - (instancetype) initWithMediaQueueItem: |   | ([GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item) \*__nullable) | *item* |   |

Constructs a new [GCKMediaQueueItemBuilder](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item_builder "A builder object for constructing new or derived GCKMediaQueueItem instances. ") with attributes copied from the given [GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. "), including the item ID.

Parameters
:

    |---|---|
    | item | The item to copy. |


|---|---|---|---|
| - ([GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item) \*) build |   |   |   |

Builds a [GCKMediaQueueItem](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_queue_item "A class representing a media queue item. ") using the builder's current attributes.

## Property Detail

|---|---|
| |---| | - ([GCKMediaInformation](https://developers.google.com/cast/v3/reference/ios/interface_g_c_k_media_information)\*) mediaInformation | | readwritenonatomiccopy |

The media information associated with this item.

|---|---|
| |---| | - (BOOL) autoplay | | readwritenonatomicassign |

Whether the item should automatically start playback when it becomes the current item in the queue.

If `NO`, the queue will pause when it reaches this item. The default value is `YES`.

|---|---|
| |---| | - (NSTimeInterval) startTime | | readwritenonatomicassign |

The start time of the item, in seconds.

The default value is [kGCKInvalidTimeInterval](https://developers.google.com/cast/v3/reference/ios/g_c_k_media_common_8h#abe8984fca7b61be2470630190b919c3b), indicating that a start time does not apply (for example, for a live stream) or that the default start time should be used.

|---|---|
| |---| | - (NSTimeInterval) playbackDuration | | readwritenonatomicassign |

The playback duration for the item, in seconds, or `INFINITY` if the stream's actual duration should be used.

|---|---|
| |---| | - (NSTimeInterval) preloadTime | | readwritenonatomicassign |

How long before the previous item ends, in seconds, before the receiver should start preloading this item.

The default value is [kGCKInvalidTimeInterval](https://developers.google.com/cast/v3/reference/ios/g_c_k_media_common_8h#abe8984fca7b61be2470630190b919c3b), indicating no preload time.

|---|---|
| |---| | - (NSArray\<NSNumber \*\>\*) activeTrackIDs | | readwritenonatomiccopy |

The active track IDs for this item.

|---|---|
| |---| | - (id) customData | | readwritenonatomiccopy |

The custom data associated with this item, if any.