All Projects → bertrandmartel → Youtubetv

bertrandmartel / Youtubetv

Licence: mit
📺 YouTube embedded player library for Android TV

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Youtubetv

Smartyoutubetv
Watch YouTube videos on your TV and set-top-box with comfort
Stars: ✭ 4,384 (+9863.64%)
Mutual labels:  android-tv, webview
Tiny.scatter
Scatter compatible eos injection library
Stars: ✭ 31 (-29.55%)
Mutual labels:  webview
Aachartkit
📈📊🚀🚀🚀An elegant modern declarative data visualization chart framework for iOS, iPadOS and macOS. Extremely powerful, supports line, spline, area, areaspline, column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, error bars, funnel, waterfall and polar chart types. 极其精美而又强大的跨平台数据可视化图表框架,支持柱状图、条形图、折…
Stars: ✭ 4,358 (+9804.55%)
Mutual labels:  webview
Webview deno
🌐 Deno bindings for webview, a tiny library for creating web-based desktop GUIs
Stars: ✭ 729 (+1556.82%)
Mutual labels:  webview
Android Tv Widget
Android tv,盒子,投影仪 控件
Stars: ✭ 536 (+1118.18%)
Mutual labels:  android-tv
Liveplayback
Android TV直播电视节目 ,包含各央视频道及卫视频道
Stars: ✭ 757 (+1620.45%)
Mutual labels:  android-tv
Aachartcore
📈📊☕️☕️☕️An elegant modern declarative data visualization chart framework for Android. Extremely powerful, supports line, spline, area, areaspline, column, bar, pie, scatter, angular gauges, arearange, areasplinerange, columnrange, bubble, box plot, error bars, funnel, waterfall and polar chart types.极其精美而又强大的 Android 数据可视化图表框架,支持柱状图、条形图、折线图、曲线图、折线填充图、曲线填充图、气泡图、扇形图、环形图、散点图、雷达图、混合图等各种类型的多达几十种的信息图图表,完全满足工作所需.
Stars: ✭ 424 (+863.64%)
Mutual labels:  webview
Cl.kunder.webview
This cordova plugin enables you to open a second webview
Stars: ✭ 36 (-18.18%)
Mutual labels:  webview
React Electron Webview
React component for the <webview> element in Electron.
Stars: ✭ 29 (-34.09%)
Mutual labels:  webview
Jxbwkwebview
An component WebView for iOS base on WKWebView
Stars: ✭ 646 (+1368.18%)
Mutual labels:  webview
React Native Wkwebview
WKWebview Component for React Native
Stars: ✭ 622 (+1313.64%)
Mutual labels:  webview
Awesome Smart Tv
⚡️A curated list of awesome resources for building Smart TV apps
Stars: ✭ 588 (+1236.36%)
Mutual labels:  android-tv
Axwebviewcontroller
AXWebViewController is a webViewController to browse web content inside applications. It’s a lightweight controller on iOS platform based on WKWebView (UIWebView would be the base Kit under iOS 8.0). It added navigation tool bar to refresh, go back, go forward and so on. It support the navigation style on WeChat. It is a simple-using and convenient web view controller using inside applications.
Stars: ✭ 770 (+1650%)
Mutual labels:  webview
Cloudreader
🗡️ 云阅:一款基于网易云音乐UI,使用玩Android Api,Retrofit2 + RxJava2 + Room + MVVM-databinding架构开发的Android客户端
Stars: ✭ 4,611 (+10379.55%)
Mutual labels:  webview
Popup Bridge Android
PopupBridge allows WebViews to open popup windows in a browser and send data back to the WebView
Stars: ✭ 31 (-29.55%)
Mutual labels:  webview
Jsbridge
A simpler, extendable bidirectional communication Frame between Android WebView and Javascript
Stars: ✭ 612 (+1290.91%)
Mutual labels:  webview
Multi
Create a custom, lightweight macOS app from a group of websites
Stars: ✭ 755 (+1615.91%)
Mutual labels:  webview
Andorid Litehybrid Webview
A android hybrid framework, works for H5 and native interactions via webview.
Stars: ✭ 39 (-11.36%)
Mutual labels:  webview
Bywebview
🌐 WebView 全方面使用,JS交互、进度条、上传图片、错误页面、视频全屏播放、唤起原生App、获取网页源代码、被作为第三方浏览器打开、DeepLink、[腾讯x5使用示例]
Stars: ✭ 982 (+2131.82%)
Mutual labels:  webview
Slimsocial For Twitter
Light version of Twitter. Light not only in weight but also in the use.
Stars: ✭ 24 (-45.45%)
Mutual labels:  webview

YoutubeTV library

CircleCI Download Maven Central Codacy Badge Javadoc License

YouTube embedded player library for Android TV

Purpose

Download YoutubeTv library Showcase from Google Play :

Download YoutubeTv library Showcase from Google Play

Features

  • a custom view YoutubeTvView that embeds a Webview with Youtube iframe
  • a custom fragment YoutubeTvFragment that holds a YoutubeTvView with a media control bar (PlaybackOverlayFragment)
  • all Javascript API for iframe Embeds are available from YoutubeTvView
  • video autoplay
  • a video thumbnail is shown at the beginning waiting for the player to be ready
  • a loading progress bar is shown waiting for the PLAY status

Include in your project

with Gradle, from jcenter :

compile 'fr.bmartel:youtubetv:1.2'

Minimum SDK : 21

YoutubeTvView

YoutubeTvView is the custom view that holds Youtube iframe inside a Webview.

Layout

<fr.bmartel.youtubetv.YoutubeTvView
    android:id="@+id/youtube_video"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:yt_videoId="4a5m4qF1e6Q" />

Attribute list

attribute name format default value description
yt_videoId string Youtube video Id
yt_playlistId string playlist Id (if video is part of a playlist)
yt_videoQuality enum hd1080 suggested quality
yt_showNowPlayingCard boolean true define if now playing card must be shown or not
yt_showRelatedVideos boolean false display related video when video ends
yt_showVideoInfo boolean false show video info before playing video
yt_showControls enum none define if iframe control bar is shown (auto/always/none)
yt_autoHide enum alwaysVisible control iframe control bar visibility (auto/always/none)
yt_closedCaptions boolean false display closed captions
yt_closedCaptionLangPref string closed captions preference language
yt_playerLanguage string youtube player language
yt_videoAnnotation boolean false display video annotations
yt_debug boolean false active/disactive debug mode
yt_loadingBackgroundColor integer #00000000 set loading background color
yt_autoplay boolean true autoplay the video or initiate on click
yt_userAgentString string iphone(*) user agent string used for the Webview
yt_showBorder boolean false define if a thin border is shown when the View is selected
yt_borderWidth integer 2 selection border width in dp (no effect if showBorder not set)
yt_borderColor color Color.BLUE selection border color (no effect if showBorder not set)
yt_thumbnailQuality enum maxresdefault suggested quality for the thumbnail displayed before the video plays
yt_javascriptTimeout integer 1500 timeout value in ms for Javascript API that return values from JS side

(*) There is currently a bug on regular android user agent string that restricts video quality to large and below. The bug doesn't affect desktop, iphone or ipad user agent string. So, in order to have quality hd720 or hd1080 we must change user agent string.

  • suggested videoQuality

    • auto
    • tiny
    • small
    • medium
    • large
    • hd720
    • hd1080
    • highres
    • hd1440
    • hd2160
  • suggested thumbnailQuality

    • auto
    • hqdefault
    • mqdefault
    • sddefault
    • maxresdefault

YoutubeTvFragment

YoutubeTvFragment holds a YoutubeTvView with a PlaybackOverlayFragment that is used to display a media control bar.

Usage

  • in your Activity's onCreate :
FragmentTransaction fTransaction = getFragmentManager().beginTransaction();

Bundle args = new Bundle();
args.putString("videoId", "gdgHZi347hU");
args.putString("videoQuality", "hd1080");

YoutubeTvFragment mYtFragment = YoutubeTvFragment.newInstance(args);
fTransaction.replace(R.id.youtube_fragment, mYtFragment);
fTransaction.commit();

Proguard

The following is required to keep Javascript interface from obfuscation :

-keep class fr.bmartel.youtubetv.JavascriptInterface { *; }

-keepclassmembers,allowobfuscation class fr.bmartel.youtubetv.JavascriptInterface.** {
    <methods>;
}

External libraries

License

The MIT License (MIT) Copyright (c) 2016 Bertrand Martel

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].