{"id":18982311,"url":"https://github.com/profusion/ios-enhanced-media-player","last_synced_at":"2025-08-11T22:41:09.083Z","repository":{"id":173390394,"uuid":"650321920","full_name":"profusion/ios-enhanced-media-player","owner":"profusion","description":null,"archived":false,"fork":false,"pushed_at":"2024-02-19T20:58:47.000Z","size":4674,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":15,"default_branch":"main","last_synced_at":"2025-02-21T09:30:52.788Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Swift","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/profusion.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-06-06T20:28:54.000Z","updated_at":"2023-06-06T20:41:18.000Z","dependencies_parsed_at":null,"dependency_job_id":"8482b892-6dd1-46aa-886e-b5f5c391398a","html_url":"https://github.com/profusion/ios-enhanced-media-player","commit_stats":null,"previous_names":["profusion/ios-enhanced-media-player"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/profusion/ios-enhanced-media-player","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fios-enhanced-media-player","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fios-enhanced-media-player/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fios-enhanced-media-player/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fios-enhanced-media-player/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/profusion","download_url":"https://codeload.github.com/profusion/ios-enhanced-media-player/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/profusion%2Fios-enhanced-media-player/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":269969821,"owners_count":24505437,"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","status":"online","status_checked_at":"2025-08-11T02:00:10.019Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":[],"created_at":"2024-11-08T16:13:05.725Z","updated_at":"2025-08-11T22:41:09.027Z","avatar_url":"https://github.com/profusion.png","language":"Swift","funding_links":[],"categories":[],"sub_categories":[],"readme":"# iOS Enhanced media player\n\niOS media player package. Implemented in `SwiftUI` using `AVFoundation`.\n\n## Table of Contents\n\n- [Motivation](#motivation)\n- [Minimum deployment target](#minimum-deployment-target)\n- [Integration](#integration)\n- [Features](#features)\n- [Visual references](#visual-references)\n\n## Motivation\n\nInternal project focused on learning, training, and practicing media player\ndevelopment. Our goal is to build a feature-rich media player, akin to those\nfound in commercial platforms like YouTube, using SwiftUI and other contemporary\ndevelopment practices. This project serves as a valuable resource for future\nreference, providing hands-on experience in media player creation for iOS platforms.\n\n## Minimum deployment target\n\niOS 15.0\n\n## Integration\n\nHow to integrate with an existing project (SPM or CocoaPod)\n\nSwift Package Manage(SPM):\n\n- Add a new package via github, using the branch `main`\n\nCocoaPods:\n\n- On your project create the `Podfile` bellow\n- Run `pod install`\n\n```ruby\nplatform :ios, '15.0'\n\ntarget 'SampleApp' do\n    pod 'EnhancedMediaPlayer', :git =\u003e 'https://github.com/profusion/ios-enhanced-media-player', :\nbranch =\u003e 'main'\nend\n```\n\n### How to use\n\nThe package supports remote and stream video and remote music. It's only\nnecessary to provide the URL and the seekFactor.\nThe URL consists in a URL of the media that will be loaded. And the seek factor\nconsists in the value of the time interval in seconds to advance or rewind the\nmedia to be played with the forward and reward actions (with buttons\nor tapping the screen).\n\nHere is an example of implementation:\n\n```swift\nimport SwiftUI\nimport EnhancedMediaPlayer\n\nstruct ContentView: View {\n    static let seekFactor: TimeInterval = 10\n    static let urlExamples: URL = URL(string: \"https://commondatastorage.googleapis.com/gtv-videos-bucket/sample/ForBiggerJoyrides.mp4\")!\n    \n    var body: some View {\n        MediaPlayer(url: urlExample, seekFactor: seekFactor)\n            .frame(height: 300)\n    }\n}\n```\n\nAn example of implementation can be found in the `ContentView.swift` file.\n\n## Features\n\nThe project consists in a media player with the following features:\n\n- Time bar (shows the passed and remaining time)\n- Replay button\n- Rewind and forward buttons or tapping the screen  (with customized interval,\nthe seek factor)\n- Loop button (plays the video in loop when activated)\n- Settings menu\n- Support for SPM and CocoaPods integration\n\n## Visual references\n\n### Screenshots\n\n\u003cimg width=\"250\" alt=\"Media player\" src=\"Images/img.png\"\u003e\n\n### Videos\n\n\u003cimg width=\"250\" alt=\"Simulator recording\" src=\"Images/record.gif\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofusion%2Fios-enhanced-media-player","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fprofusion%2Fios-enhanced-media-player","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fprofusion%2Fios-enhanced-media-player/lists"}