在暂停使用该属性并将其放入另一个View时,视频播放器出现问题。 当我尝试将视频放置在两个视图之间(以测试滚动)时,播放器将隐藏第一个视图,而第二个视图则保持工作状态。滚动也可以正常工作。 虽然,当我删除第一个视图时,播放器只是消失了,而第二个视图则停留在那里。当我将paused = true放到播放器上时,同样的问题也会出现。我在这里遇到的另一个问题是,当我尝试使用Dimensions时,播放器没有显示。 这里的代码(不使用尺寸):
import Video from 'react-native-video';
import {
Text,
StyleSheet,
View,
Dimensions,
ScrollView
} from 'react-native';
import api from '../services/api';
import JojoVideo from '../assets/jojo_op_1.mp4';
import Icon from 'react-native-vector-icons/FontAwesome';
export default function Videos({ navigation }) {
/* state = {
paused: true
};
position = {
start: null,
end: null
};
const [state, setState] = useState({ paused: true });
const [postion, setPosition] = useState({ start: null, end: null });
// const {width} = Dimensions.get('window');
return (
<View style={styles.container}>
<ScrollView style={styles.scrollView}>
{/* <View style={styles.fakeContent}></View> */}
<Video
source={JojoVideo}
ref={(ref) => {
player = ref
}}
style={styles.video}
paused={state.paused}
/>
<View style={styles.fakeContent}></View>
</ScrollView>
</View>
);
}
StyleSheet:
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#5EFFB1',
justifyContent: 'center',
alignItems: 'center',
padding: 30
},
scrollView: {
position: 'absolute',
top: 0,
left: 0,
right: 0,
bottom: 0,
flex: 1
},
video: {
position: 'absolute',
top: 0,
left: 0,
bottom: 0,
right: 0
},
fakeContent: {
height: 850,
backgroundColor: "#CCC",
paddingTop: 250,
alignItems: "center"
},
});
当我尝试测试尺寸时,标签将如下所示:
<Video
source={JojoVideo}
ref={(ref) => {
player = ref
}}
style={styles.video, width}
paused={state.paused}
/>
答案 0 :(得分:0)
好吧,我解决了这个谜团,我只需要将Video标签放在View中,并在View和Video中放置相同的高度...现在它可以正常工作了!