Giter Club home page Giter Club logo

videoplayer's Introduction

videoplayer's People

Contributors

abi avatar cruzach avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

videoplayer's Issues

Show controls for the video

How to show controls for the video even its not playing, because right now, users can't determine if its a picture or a video thanks

video player mess AsyncStorage key

When install videoplayer my AsyncStorage key defaultview gets cleaned when close the app. If not using videoplayer it keeps original defaultview value. Is there any trick point with videoplayer?

app crash when enter fullscreen mode

every time i hit the fullscreen button, the video part will stop but the audio part is still running normally. i tried with a variety of different size of video but i found that the size is not the point. Did anyone hit this problem and knew how to get rid of it?

Native fullscreen

Hello,

i'm trying to make a video player which supports landscape fullscreen, with views (like a FAB) on top of it. I'm having some issues using this component, as it works (it seems) differently than using the Expo Video component when triggering fullscreen. The VideoPlayer example only changes orientation, and the nativecontrols of Video component triggers a "real" on top view fullscreen.

Is there a way to make something similar? Maybe i'm just missing something. Thanks!

Slow video looping on android devices

It looks like the isLooping performs a full reload of the video (seek 0?) and freezes for a couple of seconds. Tested on two different androids. Ok on IOS.

expo: 2.23.1
expo-video: 0.40

 <Video
          source={require('../../../assets/carotte4.mp4')} // eslint-disable-line
          rate={1.0}
          volume={0}
          isMuted
          isLooping
          resizeMode="cover"
          shouldPlay
          style={styles.video}
/>

device video : https://storage.googleapis.com/greg_stuff/android_slug.mp4
video source : https://storage.googleapis.com/greg_stuff/carotte4.mp4
Test app: https://storage.googleapis.com/greg_stuff/android%252F%40gregt%252Fchefclub-d55d2e1e-3295-11e8-9770-0a580a782004-signed.apk

Other thing: is the vertical video has a resolution of 960x1440, it just does not load.

https://storage.googleapis.com/greg_stuff/carotte_960x1440.mp4

Did I miss anything? Is there a way to force caching a video in ram, or how can I pinpoint the origin of the freeze? IO activity monitoring on Android?

Scaling issue on Lottie

expo: 2.23.1

When trying to use the mighty Watermelon.json Lottie animation as a fullscreen background the scale differs between IOS and Android.

image

        <Lottie
          ref={c => this.setBgAnim(c)}
          style={{
            position: 'absolute',
            zIndex: 1,
            left: 0,
            top: 0,
            width: '100%',
            height: '100%',
          }}
          source={require('../../../assets/Watermelon.json')}  // eslint-disable-line
        />

I tried using scaling transforms on Android only as fix but then the animation gets pixelized.

Dev dependency in deps?

Does eslint-plugin-prettier really need to be in the main deps? I haven't looked at the code to see if it's actually used in the app, but usually something like an eslint plugins would be a dev dependency, not a "prod" dependency.

Resize VideoPlayer in screen

I need resize VideoPlayer how component Video, its posible.

<View style={{alignItems: "center",padding:10, width: deviceWidth - 40, height:180, backgroundColor:'#fff'}}>
<Video
source={{ uri: url }}
shouldPlay
resizeMode="cover"
useNativeControls
style={{ width: deviceWidth - 60, height:150}}
/>

can resize VideoPlayer component ? i cant

Unable to reload video when source is base64

When using a base64 source, I encounter an error when reloading the video:
"Encountered a fatal error during playback: Player error: null"

I think this issue might originate from the default expo

Warning: Can only update a mounted or mounting component

video-player-issue

I am trying to use example that you added on this repo. The trouble is that when I open the screen video player works video plays but it shows this error in yellow:
Warning: Can only update a mounted or mounting component this usually means you called setState, replaceState or forceUpdate on an unmounted component. This is a no-op. Pleas check the code for video player component.

Is there any way to solve this issue?

cast support

I need support google chrome cast for videoplayer . How complicated is it?

Cljs: Error rendering component

I am using expo and cljs.
This is my code:


(def vp (js/require "@expo/videoplayer"))
(def videoplayer (.-VideoPlayer vp))
(defn video-page []
  [view {:flex 1}
   [videoplayer
    {:videoProps {:shouldPlay true
                  :source {:uri "https://www.youtube.com/watch?v=Mw9U7FPaZho"}}
     :isPortrait true}]])

I am getting following error in xde:
Error rendering component (in env.main.reloader > expo_demo.core.app_root > video-page)

My xde logs shows that expo/videoplayer is loaded.

Loading Closure base.
16:57:06
Shimming require
16:57:07
Shimming goog functions.
16:57:08
Requiring: react
16:57:08
Requiring: create-react-class
16:57:09
==== Shimming jsloader ====
16:57:09
Requiring: expo
16:57:10
Requiring: react-native
16:57:10
Requiring: react
16:57:10
Requiring: expo
16:57:10
Requiring: react-native
16:57:10
Requiring: react-native-communications
16:57:10
Requiring: expo
16:57:10
Requiring: @expo/videoplayer
16:57:10
Requiring: ./assets/images/cljs.png
16:57:10
Done loading Clojure app
16:57:10
Figwheel: trying to open cljs reload socket
16:57:10
Figwheel: socket connection established
16:57:12
Error rendering component (in env.main.reloader > expo_demo.core.app_root > video-page)

Playing Encrypted m3u8 content

I am able to play the video in the example files. But if the video has AES encryption, its giving me problems. Any suggestion on how to handle this?

hide scrubber for live?

Need to be able to hide the scrubber for live hls streams, otherwise a users adjustment to the scrubber dramatically crashes the whole app.
Also the runtime.. would be nice to show "live" vs nan.

A setting of isLive=true to make these adjustments would be a great improvement.

So this is both a feature request and bug report.

Pausing on a video has a delay on the pause icon

On production on actual devices it takes a sec for pause to actually change to the pause icon from play. It's not noticeable on an emulator for some reason but it's definitely noticeable on a real device. Any thoughts?

The example doesn't work on Android

The example that was in example folder works on ios perfectly but doesn't work o android. It shows the spinner all the time. Also it shows yellow error connected with java lang.
Can you fix it on your example?

clipping of custom icons

Hello ! I have a problem when I try to use custom icons, they appear and disappear in fade nearly every few frames.
My code :
fullscreenEnterIcon = {function(){return(<Image resizeMode="contain" source={require('wada7Resources/playerVideo/FullScreenIcon.png')} style={{height : 30,width : 30}} />)}}

videoPlayer don't resize on landscape mode

the video player don't seam to resize correctly with the parent view on landscape view for some reason.
I tried different things, even putting the videoPlayer at the root of my application but the videoplayer don't fit the height of the screen, it goes below it.

example scenario at root :
Texted on expo with a galaxy S8

<View style={{flex : 1}}>
        <VideoPlayer
          videoProps={{
            shouldPlay: true,
            resizeMode: Video.RESIZE_MODE_CONTAIN,
            source: {
              uri: defVid.link,
            },
          }}
          isPortrait={true}
          playFromPositionMillis={0}
          key={defVid.uvid}
        />
</View>

the result is a part of the video under the bottom of the screen on landscape mode, (but perhaps landscape is not the real deal here).

Still maintained?

Is this component still maintained? No commits and no comments on any issues from @abi since beginning of january, which tells me that it probably isn't really maintained anymore.

Should be able to disable fullscreen button entirely

Either with a prop, or just the fact that switchToLandscape and/or switchToPortrait are not specified.

Also the isPortrait prop seems badly named for the prop that determines whether the "enter fullscreen" or "exit fullscreen" button should show. inFullscreen or something similar would make more sense. This would be especially true if #3 or #1 are ever done, as you could be viewing the video in landscape mode but not fullscreen.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.