npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-native-vimeo

v0.3.0

Published

A <Vimeo/> component for React Native.

Downloads

154

Readme

React Native Vimeo Player

It is easy enough to embed Vimeo videos in your React Native app using a standard React Native Webview, however it is impossible to access the Vimeo player API that way. This component allows you to easily embed a Vimeo video in your app and have full access to the Vimeo player JS API (documented at https://developer.vimeo.com/player/js-api).

Installation

  1. Go through the instructions for installing the React Native Webview Bridge component, found here: https://github.com/alinz/react-native-webview-bridge.

  2. Run npm install react-native-vimeo within your project.

  3. Compile and build to make sure everything is set up properly.

Usage

  <Vimeo
    ref='video'
    videoId='2619976' // Vimeo video ID
    onReady={ () => console.log('Video is ready') }
    onPlay={ () => console.log('Video is playing') }
    onPlayProgress={ data => console.log('Video progress data:', data) }
    onFinish={ () => console.log('Video is finished') }
  />

this.refs.video.api('getDuration', dur => console.log('Video duration is:', dur))

NOTE: Any api method calls must be made after onReady has been called.

How it works

Internally, a webview loads a HTML page which is hosted via Github Pages. This HTML page loads your Vimeo video in an iFrame, then uses the Froogaloop JS library provided by Vimeo to pass event information through the webview bridge to your application. Vimeo API calls are made by sending a message to the HTML page via the webview bridge.

Ideally, the HTML page content would just be passed as a string into the webview, however if that were the case then the Vimeo JS API would not function. As stated in the Vimeo JS API documentation, the Froogaloop library can only interact with the Vimeo iFrame when the page is served up by a web server, not when it is loaded locally.

If you would like to view the contents of the HTML page used, simply clone this repo and checkout the gh-pages branch (more info here https://help.github.com/articles/creating-project-pages-manually/). Alternatively, just visit http://myagi.github.io/react-native-vimeo/ and view the source.