{"id":20620904,"url":"https://github.com/irons163/irplayeruishell","last_synced_at":"2026-04-20T00:31:33.485Z","repository":{"id":56915170,"uuid":"207983703","full_name":"irons163/IRPlayerUIShell","owner":"irons163","description":"IRPlayerUIShell is a powerful UI Shell framework for the video player(IRPlayer) for iOS.","archived":false,"fork":false,"pushed_at":"2021-09-17T06:03:32.000Z","size":70495,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-03T14:47:54.198Z","etag":null,"topics":["ios","mediaplayer","objcective-c","ui-components","ui-wrapper","uidesigner","video-player"],"latest_commit_sha":null,"homepage":"","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/irons163.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-09-12T06:48:49.000Z","updated_at":"2023-02-20T04:24:34.000Z","dependencies_parsed_at":"2022-08-20T20:50:38.723Z","dependency_job_id":null,"html_url":"https://github.com/irons163/IRPlayerUIShell","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irons163%2FIRPlayerUIShell","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irons163%2FIRPlayerUIShell/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irons163%2FIRPlayerUIShell/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/irons163%2FIRPlayerUIShell/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/irons163","download_url":"https://codeload.github.com/irons163/IRPlayerUIShell/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242298974,"owners_count":20104922,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ios","mediaplayer","objcective-c","ui-components","ui-wrapper","uidesigner","video-player"],"created_at":"2024-11-16T12:16:01.973Z","updated_at":"2026-04-20T00:31:33.447Z","avatar_url":"https://github.com/irons163.png","language":"Objective-C","funding_links":[],"categories":[],"sub_categories":[],"readme":"![Build Status](https://img.shields.io/badge/build-%20passing%20-brightgreen.svg)\n![Platform](https://img.shields.io/badge/Platform-%20iOS%20-blue.svg)\n\n# IRPlayerUIShell \n\n- IRPlayerUIShell is a powerful UI Shell framework for the video player([IRPlayer](https://github.com/irons163/IRPlayer)) for iOS.\n\n## Features\n- Support customize UI for [IRPlayer](https://github.com/irons163/IRPlayer).\n- Support some media controllers.\n    - Seek Bar\n    - Brightness\n    - Volume\n    - Full Screen\n- Support iOS14.\n- Has a Demo\n\n## Future\n- Support Multi video player in one page(UITableView, UICollectionView, etc).\n- More powerful custom UI design.\n\n## Install\n### Git\n- Git clone this project.\n- Copy this project into your own project.\n- Add the .xcodeproj into you  project and link it as embed framework.\n#### Options\n- You can remove the `demo` and `ScreenShots` folder.\n\n### Cocoapods\n- Add `pod 'IRPlayerUIShell'`  in the `Podfile`\n- `pod install`\n\n## Usage\n\n### Basic\n- See `IRPlayerUIShellViewController` for demo.\n\n- Import framework\n```obj-c\n#import \u003cIRPlayerUIShell/IRPlayerUIShell.h\u003e\n```\n\n- Create a [IRPlayer](https://github.com/irons163/IRPlayer) instance.\n```obj-c\nself.playerImp = [IRPlayerImp player];\nself.playerImp.decoder = [IRPlayerDecoder FFmpegDecoder];\n[self.playerImp replaceVideoWithURL:VIDEO_URL];\n```\n\n- Create a IRPlayerController instance, set the player and containerView while init, and then set the controlView.\n```obj-c\nself.player = [IRPlayerController playerWithPlayerManager:self.playerImp containerView:self.containerView];\nself.player.controlView = self.controlView;\n```\n\n- Set the video urls, and then the first video will play!\n```obj-c\nself.player.assetURLs = self.assetURLs;\n```\n\n### Advanced settings\n- If app is in the background, still play continue.\n```obj-c\nself.player.pauseWhenAppResignActive = NO;\n```\n\n- Listener for orientation change.\n```obj-c\n@weakify(self)\nself.player.orientationWillChange = ^(IRPlayerController * _Nonnull player, BOOL isFullScreen) {\n    @strongify(self)\n    [self setNeedsStatusBarAppearanceUpdate];\n};\n```\n\n- Listener for player go end.\n```obj-c\n    self.player.playerDidToEnd = ^(id  _Nonnull asset) {\n        @strongify(self)\n        [self.player.currentPlayerManager pause];\n        [self.player.currentPlayerManager play];\n        \n        [self.player playTheNext];\n        if (!self.player.isLastAssetURL) {\n        NSString *title = [NSString stringWithFormat:@\"title:%zd\",self.player.currentPlayIndex];\n            [self.controlView showTitle:title coverURLString:kVideoCover fullScreenMode:IRFullScreenModeLandscape];\n        } else {\n            [self.player stop];\n        }\n    };\n```\n\n- More, coming soon...\n\n\n## Screenshots\n|Play|Seek|\n|:---:|:---:|\n|![Demo](./ScreenShots/demo1.png)|![Demo](./ScreenShots/demo2.png)|\n|Volume|Brightness|\n|![Demo](./ScreenShots/demo3.png)|![Demo](./ScreenShots/demo4.png)|\n|Full Screen|Lock Screen|\n|![Demo](./ScreenShots/demo5.png)|![Demo](./ScreenShots/demo6.png)|\n\n\n## Copyright\n##### This project is inspired from [ZFPlayer](https://github.com/renzifeng/ZFPlayer).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firons163%2Firplayeruishell","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Firons163%2Firplayeruishell","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Firons163%2Firplayeruishell/lists"}