{"id":23158998,"url":"https://github.com/jakesteam/vidsta","last_synced_at":"2025-06-14T13:02:59.489Z","repository":{"id":57743635,"uuid":"79636958","full_name":"JakeSteam/Vidsta","owner":"JakeSteam","description":"Easily implementable and customisable Android video player library","archived":false,"fork":false,"pushed_at":"2018-12-17T15:26:44.000Z","size":7545,"stargazers_count":37,"open_issues_count":12,"forks_count":13,"subscribers_count":6,"default_branch":"master","last_synced_at":"2025-06-14T13:02:39.425Z","etag":null,"topics":["android","java","library","video-player"],"latest_commit_sha":null,"homepage":"https://play.google.com/store/apps/details?id=uk.co.jakelee.exposurevideoplayersample","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JakeSteam.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":"2017-01-21T09:40:55.000Z","updated_at":"2023-04-16T23:12:17.000Z","dependencies_parsed_at":"2022-08-26T01:43:17.549Z","dependency_job_id":null,"html_url":"https://github.com/JakeSteam/Vidsta","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/JakeSteam/Vidsta","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeSteam%2FVidsta","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeSteam%2FVidsta/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeSteam%2FVidsta/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeSteam%2FVidsta/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JakeSteam","download_url":"https://codeload.github.com/JakeSteam/Vidsta/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JakeSteam%2FVidsta/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":259820788,"owners_count":22916544,"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":["android","java","library","video-player"],"created_at":"2024-12-17T22:28:33.303Z","updated_at":"2025-06-14T13:02:59.425Z","avatar_url":"https://github.com/JakeSteam.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# This repo is not being maintained! Please use the many other alternatives if it doesn't fit your use case.\n\n[ ![Download](https://api.bintray.com/packages/jakesteam/vidsta/vidsta/images/download.svg) ](https://bintray.com/jakesteam/vidsta/vidsta/_latestVersion)\n\n# Vidsta\n#### An easily implementable and customisable Android video player. Try out the [sample app](https://play.google.com/store/apps/details?id=uk.co.jakelee.exposurevideoplayersample)!\n----\n#### Feature List:\n* Plays local and remote files\n* Send custom headers\n* Customise play / pause / fullscreen etc button images\n* Apply colour tint to play / pause / fullscreen images to quickly theme the player\n* Customise text colour\n* Autoplay\n* Autoloop\n* Listeners for video play / pause / buffering / error\n* Easy to implement\n* Min SDK Version: 14\n\n----\n#### Setup\n##### 1. Import library:\nAdd `compile 'uk.co.jakelee:vidsta:1.0.0'` to your `build.gradle` dependencies.\n\n##### 2. Create view to display video in:\n```java    \n\u003cuk.co.jakelee.vidsta.VidstaPlayer\n        android:id=\"@+id/player\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\" /\u003e\n```\n##### 3. Configure video source, and other options:\n```java\n        VidstaPlayer player = (VidstaPlayer) findViewById(R.id.player);\n        player.setVideoSource(\"http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4\");\n        player.setAutoLoop(true);\n        player.setAutoPlay(true);\n```\n##### 4. That's it! You're done!\nAdding custom listeners, customising the UI, and other configuration options are detailed below, but you're ready to go!\n\n----\n#### Changelog\n###### V1.0.0: Initial release, forked from Exposure Video Player.\n\n----\n#### Customisation\n##### Via XML:\n```java    \n    \u003cuk.co.jakelee.vidsta.VidstaPlayer\n        android:id=\"@+id/player\"\n        android:layout_width=\"match_parent\"\n        android:layout_height=\"match_parent\"\n        app:videoSource = \"http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4\" \u003c!-- Setting a remote video source --\u003e\n        app:textColor = \"@color/colorPrimary\" \u003c!-- Setting colour for duration / progress text --\u003e\n        app:playVideoDrawable = \"@drawable/custom_video_play\" \u003c!-- Setting drawable for play button --\u003e\n        app:pauseVideoDrawable = \"@drawable/custom_video_pause\" \u003c!-- Setting drawable for pause button --\u003e\n        app:retryVideoDrawable = \"@drawable/custom_video_retry\" \u003c!-- Setting drawable for retry button --\u003e\n        app:nextVideoDrawable = \"@drawable/custom_video_next\" \u003c!-- Setting drawable for next button --\u003e\n        app:previousVideoDrawable = \"@drawable/custom_video_previous\" \u003c!-- Setting drawable for previous button --\u003e\n        app:buttonTintColor = \"@color/colorAccent\" \u003c!-- Setting tint colour for above buttons --\u003e\n        app:autoPlay = \"true\" \u003c!-- Enabling autoplay --\u003e\n        app:autoLoop = \"true\" \u003c!-- Enablimg looping once video is finished --\u003e\n        app:setFullScreen = \"true\" \u003c!-- Enabling fullscreen --\u003e\n        app:fullScreenButtonEnabled = \"true\" \u003c!-- Making fullscreen button clickable --\u003e\n        app:fullScreenButtonVisible = \"true\" \u003c!-- Making fullscreen button visible --\u003e/\u003e\n```\n##### Programmatically: \n```java\n# Setting video source to a remote video\nplayer.setVideoSource(\"http://www.quirksmode.org/html5/videos/big_buck_bunny.mp4\");\n\n# Enabling fullscreen mode\nplayer.setFullScreen(true);\nplayer.setFullScreenButtonVisible(true);\n\n# Adding coloured tint to text / buttons\nplayer.setTextColor(intent.getIntExtra(\"textColour\", Color.WHITE));\nplayer.setButtonTintColor(intent.getIntExtra(\"iconTint\", Color.WHITE));\n\n# Setting new drawables\nplayer.setPlayButtonDrawable(R.drawable.custom_video_play);\nplayer.setPauseButtonDrawable(R.drawable.custom_video_pause);\nplayer.setRetryButtonDrawable(R.drawable.custom_video_retry);\nplayer.setFullscreenEnterDrawable(R.drawable.custom_video_screen_fullscreen_enter);\nplayer.setFullscreenExitDrawable(R.drawable.custom_video_screen_fullscreen_exit);\nplayer.setPreviousButtonDrawable(R.drawable.custom_video_previous);\nplayer.setNextButtonDrawable(R.drawable.custom_video_next);\n\n# Setting up autoloop \u0026 autoplay\nplayer.setAutoLoop(true);\nplayer.setAutoPlay(true);\n\n# Setting up custom listeners for events\nplayer.setOnVideoBufferingListener(new VideoStateListeners.OnVideoBufferingListener());\nplayer.setOnVideoErrorListener(new VideoStateListeners.OnVideoErrorListener());\nplayer.setOnVideoFinishedListener(new VideoStateListeners.OnVideoFinishedListener());\nplayer.setOnVideoPausedListener(new VideoStateListeners.OnVideoPausedListener());\nplayer.setOnVideoRestartListener(new VideoStateListeners.OnVideoRestartListener());\nplayer.setOnVideoStartedListener(new VideoStateListeners.OnVideoStartedListener());\nplayer.setOnVideoStoppedListener(new VideoStateListeners.OnVideoStoppedListener());\n\n# Setting a fullscreen listener. Note that starting a new fullscreen activity must be handled in your application for now\nplayer.setOnFullScreenClickListener(new FullScreenClickListener());\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakesteam%2Fvidsta","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjakesteam%2Fvidsta","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjakesteam%2Fvidsta/lists"}