improve video
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user