GoogleMobileAds Framework Reference
Stay organized with collections
Save and categorize content based on your preferences.
GADVideoController
@interface GADVideoController : NSObject
The video controller class provides a way to get the video metadata and also manages video
content of the ad rendered by the Google Mobile Ads SDK. You don’t need to create an instance of
this class. When the ad rendered by the Google Mobile Ads SDK loads video content, you may be
able to get an instance of this class from the rendered ad object.
-
Delegate for receiving video notifications.
-
Indicates whether the video is muted. Set to YES to mute the video. Set to NO to allow the video
to play sound. The setter doesn’t do anything if -customControlsEnabled returns NO.
Declaration
Swift
var isMuted: Bool { get set }
Objective-C
@property (nonatomic, getter=isMuted) BOOL muted;
-
Indicates whether video custom controls (for example, play/pause/mute/unmute) are enabled.
Declaration
Swift
var areCustomControlsEnabled: Bool { get }
Objective-C
@property (nonatomic, readonly, getter=areCustomControlsEnabled) BOOL customControlsEnabled;
-
Indicates whether video click to expand behavior is enabled.
Declaration
Swift
var isClickToExpandEnabled: Bool { get }
Objective-C
@property (nonatomic, readonly, getter=isClickToExpandEnabled) BOOL clickToExpandEnabled;
-
Play the video. Doesn’t do anything if the video is already playing or if
-customControlsEnabled returns NO.
Declaration
Objective-C
- (void)play;
-
Pause the video. Doesn’t do anything if the video is already paused or if
-customControlsEnabled- returns NO.
Declaration
Objective-C
- (void)pause;
-
Stops the video and displays the video’s first frame. Call -play to resume playback at the start
of the video. Doesn’t do anything if -customControlsEnabled returns NO.
Declaration
Objective-C
- (void)stop;
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-08-20 UTC.
[null,null,["Last updated 2025-08-20 UTC."],[[["\u003cp\u003e\u003ccode\u003eGADVideoController\u003c/code\u003e provides access to video metadata and control over video content in Google Mobile Ads SDK rendered ads.\u003c/p\u003e\n"],["\u003cp\u003eObtain an instance of this class from the rendered ad object when it loads video content.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers can manage video playback using methods like \u003ccode\u003eplay\u003c/code\u003e, \u003ccode\u003epause\u003c/code\u003e, \u003ccode\u003estop\u003c/code\u003e, \u003ccode\u003emute\u003c/code\u003e, and \u003ccode\u003esetMute\u003c/code\u003e, given custom controls are enabled.\u003c/p\u003e\n"],["\u003cp\u003eThis class offers insights into video states, such as \u003ccode\u003eisMuted\u003c/code\u003e, \u003ccode\u003ecustomControlsEnabled\u003c/code\u003e, and \u003ccode\u003eclickToExpandEnabled\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eDelegate methods allow for receiving video notifications and handling video events within your application.\u003c/p\u003e\n"]]],["The `GADVideoController` manages video content in ads from the Google Mobile Ads SDK. Key actions include the ability to `play`, `pause`, and `stop` videos, and control audio by setting the `muted` property. It also indicates whether custom controls (`customControlsEnabled`) and click-to-expand behavior (`clickToExpandEnabled`) are active. A delegate can be set to receive video notifications. An instance of this class is not created, rather it may be retrieved from the rendered ad object.\n"],null,["# GoogleMobileAds Framework Reference\n\nGADVideoController\n==================\n\n\n @interface GADVideoController : NSObject\n\nThe video controller class provides a way to get the video metadata and also manages video\ncontent of the ad rendered by the Google Mobile Ads SDK. You don't need to create an instance of\nthis class. When the ad rendered by the Google Mobile Ads SDK loads video content, you may be\nable to get an instance of this class from the rendered ad object.\n- `\n ``\n ``\n `\n\n ### [delegate](#/c:objc(cs)GADVideoController(py)delegate)\n\n `\n ` \n Delegate for receiving video notifications. \n\n #### Declaration\n\n Swift \n\n weak var delegate: (any ../Protocols/GADVideoControllerDelegate.html)? { get set }\n\n Objective-C \n\n @property (nonatomic, weak, nullable) id\u003c../Protocols/GADVideoControllerDelegate.html\u003e delegate;\n\n- `\n ``\n ``\n `\n\n ### [muted](#/c:objc(cs)GADVideoController(py)muted)\n\n `\n ` \n Indicates whether the video is muted. Set to YES to mute the video. Set to NO to allow the video\n to play sound. The setter doesn't do anything if -customControlsEnabled returns NO. \n\n #### Declaration\n\n Swift \n\n var isMuted: Bool { get set }\n\n Objective-C \n\n @property (nonatomic, getter=isMuted) BOOL muted;\n\n- `\n ``\n ``\n `\n\n ### [customControlsEnabled](#/c:objc(cs)GADVideoController(py)customControlsEnabled)\n\n `\n ` \n Indicates whether video custom controls (for example, play/pause/mute/unmute) are enabled. \n\n #### Declaration\n\n Swift \n\n var areCustomControlsEnabled: Bool { get }\n\n Objective-C \n\n @property (nonatomic, readonly, getter=areCustomControlsEnabled) BOOL customControlsEnabled;\n\n- `\n ``\n ``\n `\n\n ### [clickToExpandEnabled](#/c:objc(cs)GADVideoController(py)clickToExpandEnabled)\n\n `\n ` \n Indicates whether video click to expand behavior is enabled. \n\n #### Declaration\n\n Swift \n\n var isClickToExpandEnabled: Bool { get }\n\n Objective-C \n\n @property (nonatomic, readonly, getter=isClickToExpandEnabled) BOOL clickToExpandEnabled;\n\n- `\n ``\n ``\n `\n\n ### [-play](#/c:objc(cs)GADVideoController(im)play)\n\n `\n ` \n Play the video. Doesn't do anything if the video is already playing or if\n -customControlsEnabled returns NO. \n\n #### Declaration\n\n Swift \n\n func play()\n\n Objective-C \n\n - (void)play;\n\n- `\n ``\n ``\n `\n\n ### [-pause](#/c:objc(cs)GADVideoController(im)pause)\n\n `\n ` \n Pause the video. Doesn't do anything if the video is already paused or if\n -customControlsEnabled- returns NO. \n\n #### Declaration\n\n Swift \n\n func pause()\n\n Objective-C \n\n - (void)pause;\n\n- `\n ``\n ``\n `\n\n ### [-stop](#/c:objc(cs)GADVideoController(im)stop)\n\n `\n ` \n Stops the video and displays the video's first frame. Call -play to resume playback at the start\n of the video. Doesn't do anything if -customControlsEnabled returns NO. \n\n #### Declaration\n\n Swift \n\n func stop()\n\n Objective-C \n\n - (void)stop;"]]