我在本机应用程序中使用react-native-video。我希望能够动态更改视频源,但发现这并不那么容易。我的方法是简单地通过使用钩子更改剪辑名称,将video1更改为video2。但是我无法更新视频实例:
我确实尝试过这样的事情:
const [clipSelected, setClipSelected] = useState('video1');
const onButton = (name) => {
console.log("videoname", name)
setClipSelected(name);
}
return (
<Fragment>
<View style={styles.container}>
<Video
source={require('./' + clipSelected + '.mp4')}
ref={(ref) => {
bgVideo = ref
}}
onBuffer={this.onBuffer}
onError={this.videoError}
rate={1}
repeat={true}
/>
<Button onPress={(e) => onButton('video2')}></Button>
</View>
</Fragment >
);
还有没有其他人知道在哪里可以解决此问题的库,方法或方法?基本上是一种更新视频源实例的方法。我将在Android TV上运行它……
答案 0 :(得分:0)
使用状态值进行更改。
const [clipSelected, setClipSelected] = useState(false);
const onButton = () => {
setClipSelected(true);
}
...
<Video
source={clipSelected === false ? require('./video1.mp4') : require('./video2.mp4')}
...
<Button onPress={(e) => onButton()}></Button>