improve video

This commit is contained in:
aeroreyna
2022-03-20 11:39:53 -07:00
parent 76ec6331f5
commit 0bee9204f2
2 changed files with 33 additions and 5 deletions

View File

@@ -45,9 +45,10 @@ let Media = (props) => {
useEffect(async () => { useEffect(async () => {
if (!videosId[1]) return 0; if (!videosId[1]) return 0;
let videoObj = await API.getVideo(videosId[1]); let videoObj = await API.getVideo(videosId[1]);
setVideosFiles(videoObj.files || []); if(videoObj && videoObj.files)
setVideosFiles(videoObj.files);
}, [props.content]) }, [props.content])
const video = videosFiles.length ? <VideoPlayer videosFiles={videosFiles} /> : const video = videosFiles.length ? <VideoPlayer videosFiles={videosFiles} videoId={videosId[1]} /> :
(videosId.length ? <VimeoPlayer videoId={videosId[1]} /> : <></>); (videosId.length ? <VimeoPlayer videoId={videosId[1]} /> : <></>);
const iframe = iframeSrc.length ? const iframe = iframeSrc.length ?
<WebView <WebView

View File

@@ -1,18 +1,45 @@
import * as React from 'react'; import * as React from 'react';
import { View, StyleSheet, Button } from 'react-native'; import { View, StyleSheet, Button } from 'react-native';
import { Video, AVPlaybackStatus } from 'expo-av'; import { Video, AVPlaybackStatus } from 'expo-av';
import API from '../API';
const VideoPlayer = ({videosFiles}) => { const VideoPlayer = ({ videosFiles, videoId }) => {
//console.log(videosFiles) //console.log(videosFiles)
let chosenVideo = []; //rendition
videosFiles.forEach((f) => {
if (f.rendition === 'adaptive') chosenVideo.push(f);
});
const video = React.useRef(null); const video = React.useRef(null);
const [status, setStatus] = React.useState({}); const [status, setStatus] = React.useState({});
const [Me, setMeProfile] = React.useState({});
React.useEffect( async ()=>{
await API.getMe().then(setMeProfile);
setTimeout(()=>{
if(Me.data && Me.data[videoId]){
//video.setPositionAsync(Me.data[videoId].time*1000);
//status.positionMillis = Me.data[videoId].time*1000;
//setStatus({...status});
video.current.setPositionAsync(Me.data[videoId].time*1000);
}
//status.isPlaying = true;
//playAsync();
}, 5000)
}, [])
console.log(status)
//console.log(status)
return ( return (
<Video <Video
ref={video} ref={video}
style={styles.video} style={styles.video}
source={{ source={{
uri: videosFiles[0].link, uri: chosenVideo[0].link,
}} }}
useNativeControls useNativeControls
resizeMode="contain" resizeMode="contain"