如何解决在本机视频结束后显示按钮
我想显示一个按钮(继续),只有当我完成在 React Native 中看到整个视频时 我正在观看我上传到 Firebase 存储的视频
我有可能知道我什么时候到达视频的结尾吗?
export default class VideoModalChild extends React.Component{
constructor(props){
super(props)
this.state={
showTaskVisible:false
}
}
render(){
const task=this.props.task;
return(
<CustomBackground>
<Modal animationType="slide" visible={this.state.showTaskVisible} onRequestClose={()=>this.toggleisModal()}>
<TodoModalChild task={task} closeModal={()=>this.toggleisModal()}/>
</Modal>
<KeyboardAvoidingView>
<SafeAreaView>
<View>
{task.video? (
<Video
source={{uri:task.video}}
shouldplay
muted={true}
repeat={true}
resizeMode={"cover"}
rate={1.0}
ignoreSilentSwitch={"obey"}
/>
):(
<Image source={white}}/>
)}
</View>
<TouchableOpacity onPress={()=>this.toggleisModal()}>
<Text>Continuuuue</Text>
</TouchableOpacity>
</SafeAreaView>
</KeyboardAvoidingView>
</CustomBackground>
)
}
}
解决方法
您可以通过向 onPlaybackStatusUpdate 道具传递回调来跟踪视频的状态。
关于播放状态的更多信息在这里: https://docs.expo.io/versions/latest/sdk/av/#playback-status
例如:
export default class VideoModalChild extends React.Component {
...
onStatusUpdate = (status) => {
if(status.didJustFinish) {
// set state or do whatever you need to
}
}
render() {
<Video
onPlaybackStatusUpdate={this.onStatusUpdate}
{...props}
/>
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。