iOS Video View

iOS Video View

A UIView for playing, recording or downloading a video. The video can be played in a window or full-screen. Includes full source code and a working demo.

UIVideoView is UIView subclass for recording, playing or downloading video. Supports switching between embedded and full-screen view both by user and programmer. Can now record and play a video from within view. For iPad, iPhone and iPod Touch.

If a remote video is provided, you can now download the video and save to your camera roll.

If you turn on recording, you can record and use a video in the view. Recorded video is automatically saved to your Photos and used by the view. Clicking the play button plays the recorded video.

The video view displays a thumbnail of your choosing overlaid with a play button. You can also use any of 13 new thumbnail images available. Upon playing the video is shown embedded in your video view or full screen in a supplied view controller.

Automatic AirPlay support for use with Apple TV and other AirPlay-enabled devices.

It's tested and works fine on iOS6 but will work on any other version as well.


Supported OS & SDK Versions

  • Supported build target - iOS 6.0 / Mac OS 10.7 (Xcode 4.3.1, Apple LLVM compiler 3.1)
  • Earliest supported deployment target - iOS 6.0 / Mac OS 10.6
  • Earliest compatible deployment target - iOS 6.0 / Mac OS 10.6

NOTE: 'Supported' means that the library has been tested with this version. 'Compatible' means that the library should work on this OS version (i.e. it doesn't rely on any unavailable SDK features) but is no longer being tested for compatibility and may require tweaking or bug fixes to run correctly.



To use UIVideoView into your app, drag the UIVideoView.h, UIVideoView.m, *.png and *.png images into your project. Make sure that you indicate to copy the files into your project. Also make sure that the Target Membership is checked UIVideoView.m and .png and .jpg images.

closeVideoPlayer.png is the close icon displayed when playing the embedded video player. You can replace with your own close icon.

newVideo.png is the new icon displayed if the video is set to new (setNew:TRUE). You can replace with your own new icon.

playVideo.png is the play icon displayed in the video view for clicking on to play the video. You can replace with your own play icon.

Frameworks: also make sure you have the MobileCoreServices framework included.



// see Demo Example in Examples/Demo folder for full source code

// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.
- (void)viewDidLoad {
[super viewDidLoad];

CGRect rect = [[UIScreen mainScreen] bounds];
screenWidth = rect.size.width;
screenHeight = rect.size.height;

self.view.backgroundColor = [UIColor blueColor];

NSURL * _thumbnailUrl1 = [NSURL URLWithString:@""];
NSURL * videoUrl1 = [NSURL URLWithString:@""];
videoView1 = [[UIVideoView alloc] initWithFrame:CGRectMake(100, 120, screenWidth - 200, 300) parent:self thumbnail:_thumbnailUrl1 video:videoUrl1 fullscreen:FALSE  recording:FALSE autostart:FALSE];
[self.view addSubview:videoView1];    

[videoView1 setNewVideo:TRUE];           // indicate is new video - shows new video icon....

NSURL * _thumbnailUrl2 = [NSURL URLWithString:@""];
NSURL * videoUrl2 = [NSURL URLWithString:@""];
videoView2 = [[UIVideoView alloc] initWithFrame:CGRectMake(100, 500, screenWidth - 200, 300) parent:self thumbnail:_thumbnailUrl2 video:videoUrl2 fullscreen:FALSE  recording:TRUE autostart:FALSE];
[self.view addSubview:videoView2];    

[videoView2 setFullscreen:TRUE];         // switch to fullscreen player
[videoView2 setUseLargePlayButton:TRUE]; // use large play button overlay
[videoView2 setUseRoundCorners:FALSE];   // do not use round corners
[videoView2 setUseRoundCornerRadius:40];  // round corner radius, higher for rounder corners
[videoView2 setThumbnail:UIVideoViewThumbnailVideoProjector];  // set the thumbnail to video projector

// Note: can replace the newVideo.png image file to use your own new video icon
//       can replace the playVideo.png image file to use your own play overlay icon


- (void)setThumbnail:(UIVideoViewThumbnail)_thumbnail;

- (UIImage *)getThumbnail:(UIVideoViewThumbnail)_thumbnail;

- (void)setFullscreen:(BOOL)_fullscreen;

- (void)setNewVideo:(BOOL)_newVideo;

- (void)setUseLargePlayButton:(BOOL)_useLargePlayButton;

- (void)setUseRoundCorners:(BOOL)_useRoundCorners;

- (void)setUseRoundCornerRadius:(int)_radius;

- (BOOL)isNewVideo;

- (BOOL)hasCamera;

- (BOOL)recordVideo;

- (BOOL)showVideoPlayer;

- (void)closeVideoPlayer;

- (NSString *)getDeviceType;

- (NSString *)getRealDeviceType;

- (BOOL)isRunningIPad;

Example Project Demo

The UIVideoViewDemo example in the Examples/Demo folder demonstrates using UIVideoView.

You need to log-in or create an account
  • Create an account
  • Log-in
Please use your real name.
Activation link will be sent to this address.
Minimum 8 characters
Enter your password again

Clicking this button confirms you read and agreed to the terms of use and privacy policy.


Save your watchlist

Fill your details below to receive project updates from your watch list - including new versions, price changes and discounts.

I agree to the terms of use and privacy policy.

3 licenses, starting from From » $9.99 14 day money-back guarantee View Licenses
or Get a quote

for customization or integration services

  • not good, it does not add value to mpmovieplayer.
    GG G G
    3 years ago, 0 comments
    Was this helpful?
    Flag 1 of 1 people found this review helpful
  • Despite claiming to be iOS 6 compatible, this component isn't ARC compatible. It also makes use of deprecated calls. Fixing both issues isn't a major difficulty but you shouldn't have to modify something you've paid for just to make it work. Does save a bit of time if you need to integrate an embedded media player but there isn't anything in there that you couldn't figure out for yourself. You need to take a view whether your time is worth more than the purchase price.
    KM Kenny Munro
    2 years ago, 0 comments
    Was this helpful?
Post a comment

Or enter your name and Email
  • AR Ahmad Razoogi 2 weeks ago
    Is it possible to use my own UIView to record the video and audio by this component?
  • Thomas A. Markel Developer 4 months ago
    New version 3.0 add ability to download the video and save to the camera roll.
  • Thomas A. Markel Developer 9 months ago
    New version 2.1 fixes some iOS6 and iOS7 issues and cleans up the documentation.