All Projects → AsynctaskCoffee → YoutubeFloatingVideo

AsynctaskCoffee / YoutubeFloatingVideo

Licence: Apache-2.0 license
Simple Youtube Floating Video Library

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to YoutubeFloatingVideo

AmazonSpeechTranslator
End-to-end Solution for Speech Recognition, Text Translation, and Text-to-Speech for iOS using Amazon Translate and Amazon Polly as AWS Machine Learning managed services.
Stars: ✭ 50 (+35.14%)
Mutual labels:  youtube-video
My.Jdownloader-API-Python-Library
My.Jdownloader API Python Library
Stars: ✭ 65 (+75.68%)
Mutual labels:  pip
pipm
Python dependency management workflow using setup.cfg and requirements files without reinventing the wheels
Stars: ✭ 30 (-18.92%)
Mutual labels:  pip
soundfixer
A WebExtension that lets you fix sound problems in e.g. YouTube videos
Stars: ✭ 102 (+175.68%)
Mutual labels:  youtube-video
dough
This package provides some widgets you can use to create a smooshy UI.
Stars: ✭ 518 (+1300%)
Mutual labels:  drag
Python-Course
🐍 This is the most complete course in Python, completely practical and all the lessons are explained with examples, so that they can be easily understood. 🍫
Stars: ✭ 18 (-51.35%)
Mutual labels:  pip
samp-server-cli
Control server configuration via command line (without manually editing server.cfg)
Stars: ✭ 14 (-62.16%)
Mutual labels:  pip
vue-drag-layout
vue拖动布局
Stars: ✭ 34 (-8.11%)
Mutual labels:  drag
ochrona-cli
A command line tool for detecting vulnerabilities in Python dependencies and doing safe package installs
Stars: ✭ 46 (+24.32%)
Mutual labels:  pip
KanbanDragDropiOS
Kanban Board using Drag & Drop iOS API
Stars: ✭ 95 (+156.76%)
Mutual labels:  drag
gesto
You can set up drag, pinch events in any browser.
Stars: ✭ 47 (+27.03%)
Mutual labels:  drag
dnd
Beautiful and accessible drag and drop for lists with React.
Stars: ✭ 271 (+632.43%)
Mutual labels:  drag
el-table-draggable
让element-ui的table可拖动排序,支持 行,列,跨表格等特性
Stars: ✭ 68 (+83.78%)
Mutual labels:  drag
pip-bash-completion
bash autocompletion for pip
Stars: ✭ 74 (+100%)
Mutual labels:  pip
Uix-Page-Builder
Uix Page Builder is a design system that it is simple content creation interface.
Stars: ✭ 20 (-45.95%)
Mutual labels:  drag
search-youtube
An Android App used for searching and playing videos from YouTube. Used: Youtube Data API v3, YouTube Player API
Stars: ✭ 24 (-35.14%)
Mutual labels:  youtube-video
v-drag
The simplest way to integrate dragging on Vue.js
Stars: ✭ 71 (+91.89%)
Mutual labels:  drag
meta-package-manager
🎁 a wrapper around all package managers
Stars: ✭ 277 (+648.65%)
Mutual labels:  pip
animec
A module to get data about anime characters, news, info, lyrics and more.
Stars: ✭ 31 (-16.22%)
Mutual labels:  pip
pipyuan
pipyuan 内置了国内常用的 pip 源, 你可以快速设置想要的源
Stars: ✭ 30 (-18.92%)
Mutual labels:  pip

Youtube Floating Video - FlyingVideo 📺

Codacy Badge License version

Easy to use floating Youtube Video Library

More features will be added in upcoming days

Why this project exist ?

Picture in picture has become popular these days. Unfortunately Android brought this support to Android 8.0 (API level 26) and later versions. Pip and floating video supported apps offer users the ability to easily view other features while watching videos (Like reading comments etc). With this library you can play youtube videos in a floating panel.

Features and Usage

Easy implementation

view can be any Button, Imageview or ImageButton which activate the FlyingVideo. videoId should have an ID of your YouTube video. For simply:

  FlyingVideo.get(MainActivity.this)
             .setFloatMode(TaskCoffeeVideo.FLOAT_MOVE.STICKY)
             .setVideoStartSecond((mTracker == null) ? 0 : mTracker.getCurrentSecond())
             .coffeeVideoSetup(videoId)
             .show(view);

Sticky and Free Mode

Sticky FLOAT_MOVE

FlyingVideo automatically snaps up or down according to the position of the screen where you left the panel.

  FlyingVideo.get(MainActivity.this)
             .setFloatMode(TaskCoffeeVideo.FLOAT_MOVE.STICKY)
             .setVideoStartSecond((mTracker == null) ? 0 : mTracker.getCurrentSecond())
             .coffeeVideoSetup(videoId)
             .show(view);

Free FLOAT_MOVE

FlyingVideo never sticks on constant position, it stays on the position where you left.

    FlyingVideo.get(MainActivity.this)
               .setFloatMode(TaskCoffeeVideo.FLOAT_MOVE.FREE)
               .setVideoStartSecond((mTracker == null) ? 0 : mTracker.getCurrentSecond())
               .coffeeVideoSetup(videoId)
               .show(view);

Sticky Free

Initial FlyGravity Mode

BOTTOM FlyGravity

FlyVideo appears bottom of the screen when opened.

    FlyingVideo.get(MainActivity.this)
               .setFloatMode(TaskCoffeeVideo.FLOAT_MOVE.FREE)
               .setVideoStartSecond((mTracker == null) ? 0 : mTracker.getCurrentSecond())
               .coffeeVideoSetup(videoId)
               .setFlyGravity(TaskCoffeeVideo.FLY_GRAVITY.BOTTOM)
               .show(view);

TOP FlyGravity

FlyVideo appears top of the screen when opened.

    FlyingVideo.get(MainActivity.this)
               .setFloatMode(TaskCoffeeVideo.FLOAT_MOVE.FREE)
               .setVideoStartSecond((mTracker == null) ? 0 : mTracker.getCurrentSecond())
               .coffeeVideoSetup(videoId)
               .setFlyGravity(TaskCoffeeVideo.FLY_GRAVITY.TOP)
               .show(view);

BOTTOM TOP

Updates

13.07.2020 AndroidX Migration

FullScreen Support Added

Full Screen Usage

Users who are already using do not need to make any changes. Users who want to use full screen feature should get YoutubeApi key. Users without YouTube or devices without PlayStore support are directed to webview for full screen mode.

        setFullScreenToggleEnabled(true, "-YOUR-YOUTUBE-API-KEY-")
FlyingVideo.get(MainActivity.this)
           .setFloatMode(TaskCoffeeVideo.FLOAT_MOVE.FREE)
           .setFullScreenToggleEnabled(true, "-YOUR-YOUTUBE-API-KEY-")
           .setVideoStartSecond((mTracker == null) ? 0 : mTracker.getCurrentSecond())
           .coffeeVideoSetup(videoId)
           .setFlyGravity(TaskCoffeeVideo.FLY_GRAVITY.BOTTOM)
           .show(view);

Implementation

Add it in your root build.gradle at the end of repositories:
allprojects {
	repositories {
		...
		maven { url 'https://jitpack.io' }
	    }
}
Add the dependency
dependencies {
	implementation 'com.github.AsynctaskCoffee:YoutubeFloatingVideo:0.0.5'
}

Used Libraries

NOTE:

This library is designed not to violate the rules. However, all problems that may occur are under your responsibility.

Before publishing your app to GooglePlay please make sure that you have read Youtube and Google Terms;

License

   Copyright 2020 Egemen ÖZOGUL

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].