问题描述
这是我的视频组件:
<Video
key={recommendationImage.id}
style={styles.recommendationImage}
source={{ uri: recommendationImage.img_url }}
onLoad={this.videoOnLoadHandler}
onPlaybackStatusUpdate={this.onVideoProgresspressHandler}
isLooping={true}
shouldplay={this.state.videoIsPlaying}
isMuted={this.state.videoIsMuted}
resizeMode="cover"
ref={(r) => (this.video = r)}
/>
我的onLoad
函数:
videoOnLoadHandler = (Meta) => {
const videoDurationInSeconds = Meta.durationMillis / 1000;
this.setState({
videoDuration: videoDurationInSeconds,});
};
我的onPlaybackStatusUpdate
函数:
onVideoProgresspressHandler = (progress) => {
const videoProgressInSeconds = progress.positionMillis / 1000;
this.setState({
videoProgress: videoProgressInSeconds / this.state.videoDuration,});
};
这是我的状态:
this.state = {
isLiked: false,videoIsPlaying: true,videoProgress: 0,videoDuration: 0,videoIsMuted: true,};
最后,这是我的滑块:
<Slider
style={{ width: 200,height: 40 }}
minimumValue={0}
maximumValue={1}
value={this.state.videoProgress}
minimumTrackTintColor="#FFFFFF"
maximumTrackTintColor="#000000"
/>
我的this.state.videoProgress
返回如下内容:
0.41459894361872
我假设这是我的Slider接受的值。我只是不知道为什么它总是给我这个错误。我认为那是因为我的状态需要更多的时间来更新,但是如果是这种情况,我的状态videoProgress
已经等于0,这对我的Slider也有效。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)